
    Og                    d   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZ d dlmZ d dlmZmZmZ ddlmZmZ dd	lmZmZ dd
lmZ ddlmZ erd dlmZ d dl m!Z! d dlm"Z" dgZ# e
d edd       edd       edejH                  e       edejH                  ee       edejH                  eejJ                  e       edd       edd       edd       eddejL                  e        ed!d ejN                  d d"      e       d#
      Z( ee(      Z)e G d$ de             Z*y%)&    )annotations)TYPE_CHECKINGOptional)	validator)DXFAttrDXFAttributesDefSubclassXTypeRETURN_DEFAULTgroup_code_mapping)SUBCLASS_MARKER)NULLVECX_AXISZ_AXIS   )Splineacdb_spline)
base_classSubclassProcessor)acdb_entity)register_entity)DXFNamespace)AbstractTagWriter)Matrix44Helix	AcDbHelixZ      )default[   ?   
   )xtyper      )r#   r   fixer   )r#   r   r   r%   (   )   *   i"  )r   r   r%   i     
major_release_numbermaintenance_release_numberaxis_base_pointstart_pointaxis_vectorradiusturnsturn_height
handedness	constrainc                  `     e Zd ZdZdZ eeeee	      Z
	 d	 	 	 d fdZd fdZd	 fdZ xZS )
r   zDXF HELIX entityHELIXc                \    t         |   |      }|r|j                  |t        dd       |S )Nr*   T)recover)superload_dxf_attribsfast_load_dxfattribsacdb_helix_group_codes)self	processordxf	__class__s      Y/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/helix.pyr;   zHelix.load_dxf_attribsR   s;     g&y1**+Q +  
    c                    t         |   |       |j                  t        t        j
                         | j                  j                  |g d       y)z(Export entity specific data as DXF tags.r+   N)r:   export_entity
write_tag2r   
acdb_helixnamer@   export_dxf_attribs)r>   	tagwriterrA   s     rB   rE   zHelix.export_entity\   s>    i(_joo>##	
rC   c                   t         |   |       |j                  | j                  j                        | j                  _        |j	                  | j                  j
                        | j                  _        |j                  | j                  j                        | j                  _        |j	                  | j                  j                  ddf      j                  | j                  _        | j                  |       | S )z@Transform the HELIX entity by transformation matrix `m` inplace.r   )
r:   	transformr@   r.   transform_directionr0   r/   r1   	magnitudepost_transform)r>   mrA   s     rB   rL   zHelix.transformp   s    !#$;;txx/G/G#H  44TXX5I5IJ {{488+?+?@//XX__a#

) 	 	ArC   )N)r?   zOptional[SubclassProcessor]returnr   )rJ   r   rQ   None)rP   r   rQ   r   )__name__
__module____qualname____doc__DXFTYPEr   r   r   r   rG   
DXFATTRIBSr;   rE   rL   __classcell__)rA   s   @rB   r   r   K   sD    Gz;ZPJ 8<4	
(
 
rC   N)+
__future__r   typingr   r   ezdxf.lldxfr   ezdxf.lldxf.attributesr   r   r	   r
   r   r   ezdxf.lldxf.constr   
ezdxf.mathr   r   r   spliner   r   	dxfentityr   r   dxfgfxr   factoryr   ezdxf.entitiesr   ezdxf.lldxf.tagwriterr   r   __all__point3dis_not_null_vectoris_integer_boolis_in_integer_rangerG   r=   r    rC   rB   <module>rl      s@   # * !  . . . ' 4  $+7#) 'B 7&-b"&="2U]]GL-- 	
 --22 
 "a(Q'r1- // 	
 3i33Aq9 	
E(+
X ,J7  .F . .rC   