Ë
    £èh”  ã                  óf   — d dl mZ d dlmZ d dlZd dlmZmZmZ d dl	m
Z
mZmZ 	 d	 	 	 	 	 	 	 dd„Zy)	é    )Úannotations)ÚcastN)ÚfactoryÚPointÚ
DXFGraphic)ÚVec3ÚUCSÚNULLVECc           	     óÌ  ‡‡‡— dˆˆˆfd„}dˆˆˆfd„}| j                   j                  }| j                  «       }t        ||j                  |j
                  ¬«      Š‰j                  t        j                  | j                   j                   «      «      Šg Š| j                  «       }|dz  }t        |dz  «      }	t        |dz  «      }
|dz  }t        |«      Š|dk(  r |t        «       nq|d	k(  r% |t        |d«      «        |t        d|«      «       nG|d
k(  r& |t        ||«      «        |t        || «      «       n|dk(  r |t        t        d|«      «       |
r~| }|}| }|} |t        ||«      t        ||«      «        |t        ||«      t        ||«      «        |t        ||«      t        ||«      «        |t        ||«      t        ||«      «       |	r‡t        |«      Š| j                   j                  d«      r$|j
                  ‰d<   |j!                  |«      ‰d<   n|‰d<   |‰d<   ‰j#                  t%        t&        t)        j*                  d‰«      «      «       ‰S )aÇ  Yields point graphic as DXF primitives LINE and CIRCLE entities.
    The dimensionless point is rendered as zero-length line!

    Check for this condition::

        e.dxftype() == 'LINE' and e.dxf.start.isclose(e.dxf.end)

    if the rendering engine can't handle zero-length lines.


    Args:
        point: DXF POINT entity
        pdsize: point size in drawing units
        pdmode: point styling mode, see :class:`~ezdxf.entities.Point` class

    c           	     ó¾   •— ‰j                  |  «      ‰d<   ‰j                  | «      ‰d<   ‰j                  t        t        t	        j
                  d‰«      «      «       y ©NÚstartÚendÚLINE©Úto_wcsÚappendr   r   r   Únew)ÚoffsetÚ
dxfattribsÚentitiesÚucss    €€€ú2lib/python3.12/site-packages/ezdxf/render/point.pyÚadd_line_symmetricalz.virtual_entities.<locals>.add_line_symmetrical   sI   ø€ Ø!Ÿj™j¨&¨Ó1ˆ
�7ÑØŸJ™J vÓ.ˆ
�5ÑØ�‰œœZ¬¯©°V¸ZÓ)HÓIÕJó    c           	     ó¼   •— ‰j                  | «      ‰d<   ‰j                  |«      ‰d<   ‰j                  t        t        t	        j
                  d‰«      «      «       y r   r   )ÚsÚer   r   r   s     €€€r   Úadd_linez"virtual_entities.<locals>.add_line#   sE   ø€ Ø!Ÿj™j¨›mˆ
�7ÑØŸJ™J q›Mˆ
�5ÑØ�‰œœZ¬¯©°V¸ZÓ)HÓIÕJr   )ÚoriginÚuxÚuzg      à?é    é@   é   r   é   é   é   Ú	extrusionÚcenterÚradiusÚCIRCLE)r   r   )r   r   r   r   )ÚdxfÚlocationÚocsr	   r!   r"   Úrotate_local_zÚmathÚradiansÚangleÚgraphic_propertiesÚboolÚdictr
   r   ÚhasattrÚfrom_wcsr   r   r   r   r   )ÚpointÚpdsizeÚpdmoder   r   r*   r/   Úgfxr+   Ú
has_circleÚ
has_squareÚstyleÚx1Úx2Úy1Úy2r   r   r   s                   @@@r   Úvirtual_entitiesrD   
   s  ú€ ÷(K÷
Kð
 �Y‰Y×Ñ€Fð �)‰)‹+€CÜ
�V §¡¨3¯6©6Ô
2€Cð ×
Ñ
œTŸ\™\¨5¯9©9¯?©?Ð*:Ó;Ó
<€Cà!#€HØ
×
"Ñ
"Ó
$€Cà�c‰\€FÜ�f˜r‘kÓ"€JÜ�f˜r‘kÓ"€JØ�Q‰J€Eä�c“€JØ�‚zÙœWÕ%à	�!ŠÙœT &¨!›_Ô-ÙœT ! V›_Õ-Ø	�!ŠÙœT &¨&Ó1Ô2ÙœT &¨6¨'Ó2Õ3Ø	�!ŠÙ”œ$˜q &›/Ô*ÙØˆWˆØˆØˆWˆØˆÙ”�b˜"“œt B¨›|Ô,Ù”�b˜"“œt B¨›|Ô,Ù”�b˜"“œt B¨›|Ô,Ù”�b˜"“œt B¨›|Ô,ÙÜ˜#“Yˆ
Ø�9‰9×Ñ˜[Ô)Ø&)§f¡fˆJ�{Ñ#Ø#&§<¡<°Ó#7ˆJ�xÒ à#)ˆJ�xÑ Ø%ˆ
�8ÑØ�‰œœZ¬¯©°X¸zÓ)JÓKÔLà€Or   )é   r   )r9   r   r:   Úfloatr;   ÚintÚreturnzlist[DXFGraphic])Ú
__future__r   Útypingr   r1   Úezdxf.entitiesr   r   r   Ú
ezdxf.mathr   r	   r
   rD   © r   r   Ú<module>rN      sK   ðõ #Ý Û ß 5Ñ 5ß )Ñ )ð 45ðNØðNØðNØ-0ðNàôNr   