
    Ogm                    Z    d dl mZ d dlmZ ddlmZ ddlmZmZ ddl	m
Z
  G d de      Zy	)
    )annotations)Sequence   )Backend)Vec2Path)
Propertiesc                  H    e Zd Zd ZddZ	 	 	 	 	 	 	 	 d	dZd
dZd ZddZy)PolygonBufferc                0    t               | _        d| _        y NFr   pathstart_new_sub_polygonselfs    f/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/addons/hpgl2/polygon_buffer.py__init__zPolygonBuffer.__init__   s    F	%*"    c                   t        |      dk(  ry d}| j                  rd| _        t        |      }| j                  j                  j	                  ||         r4|dz  }||k(  ry | j                  j                  j	                  ||         r4| j                  j                  ||          ||dz   d  D ]  }| j                  j                  |        y )Nr   Fr   )lenr   r   endisclosemove_toline_to)r   
propertiespointsindexcountps         r   draw_polylinezPolygonBuffer.draw_polyline   s    v;!%%).D&KE))--''u6
E> ))--''u6 IIfUm,	$ 	!AIIa 	!r   c                    |r
t               |D ]d  }t        |      dk(  r| j                  r,d| _        | j                  j	                  |j
                         | j                  j                  |       f y )Nr   F)NotImplementedErrorr   r   r   r   startappend_path)r   r   pathsfilledr    s        r   
draw_pathszPolygonBuffer.draw_paths   sf     %'' 	%A1v{))-2*		!!!''*II!!!$	%r   c                H    t        | j                  j                               S )N)listr   	sub_pathsr   s    r   	get_pathszPolygonBuffer.get_paths+   s    DII'')**r   c                r    t        | j                        r"| j                  j                          d| _        y y )NT)r   r   close_sub_pathr   r   s    r   
close_pathzPolygonBuffer.close_path.   s*    tyy>II$$&)-D& r   c                2    t        |      | _        d| _        y r   r   )r   locations     r   resetzPolygonBuffer.reset3   s    N	%*"r   N)r   r	   r   zSequence[Vec2]returnNone)r   r	   r&   Sequence[Path]r'   boolr3   r4   )r3   r5   )r1   r   r3   r4   )	__name__
__module____qualname__r   r!   r(   r,   r/   r2    r   r   r   r   
   s@    +!%$%-;%EI%	%+.
+r   r   N)
__future__r   typingr   backendr   depsr   r   r   r	   r   r:   r   r   <module>r?      s"    #    "++G ++r   