
    Og<                    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        ||             |	rt        |      | 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    W/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/render/point.pyadd_line_symmetricalz.virtual_entities.<locals>.add_line_symmetrical   sI    !jj&1
7JJv.
5ZVZ)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    !jjm
7JJqM
5ZVZ)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
 YYF ))+C
V366
2C 

T\\599??*:;
<C!#H

"
"
$Cc\Ffrk"Jfrk"JQJEcJzW%	!T&!_-T!V_-	!T&&12T&6'23	!$q&/*WWb"tB|,b"tB|,b"tB|,b"tB|,#Y
99[)&)ffJ{##&<<#7Jx #)Jx %
8ZXz)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   