
    h                    2   S SK Jr  S SKJrJr  S SKJr  S SKJrJ	r	J
r
JrJrJr  S SKJr  S SKJrJrJr  SSKJrJr  SS	KJrJr  SS
KJr  SSKJr  \(       a  S SKJr  S SK J!r!  S SKJ"r"  S/r#\
" S\" SSS9\" SSS9\" S\RH                  \S9\" S\RH                  \\S9\" S\RH                  \\RJ                  \S9\" SSS9\" SSS9\" SSS9\" SS\RL                  \S 9\" S!S\RN                  " S S"5      \S 9S#.
5      r(\" \(5      r)\ " S$ S\5      5       r*g%)&    )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                  v   ^  \ rS rSrSrSr\" \\\	\
5      r S   S	U 4S jjjrS
U 4S jjrSU 4S jjrSrU =r$ )r   K   zDXF HELIX entityHELIXc                `   > [         TU ]  U5      nU(       a  UR                  U[        SSS9  U$ )Nr*   T)recover)superload_dxf_attribsfast_load_dxfattribsacdb_helix_group_codes)self	processordxf	__class__s      F/var/www/html/env/lib/python3.13/site-packages/ezdxf/entities/helix.pyr<   Helix.load_dxf_attribsR   s;     g&y1**+Q +  
    c                   > [         TU ]  U5        UR                  [        [        R
                  5        U R                  R                  U/ SQ5        g)z(Export entity specific data as DXF tags.r+   N)r;   export_entity
write_tag2r   
acdb_helixnamerA   export_dxf_attribs)r?   	tagwriterrB   s     rC   rG   Helix.export_entity\   s>    i(_joo>##	
rE   c                  > [         TU ]  U5        UR                  U R                  R                  5      U R                  l        UR	                  U R                  R
                  5      U R                  l        UR                  U R                  R                  5      U R                  l        UR	                  U R                  R                  SS45      R                  U R                  l        U R                  U5        U $ )z@Transform the HELIX entity by transformation matrix `m` inplace.r   )
r;   	transformrA   r.   transform_directionr0   r/   r1   	magnitudepost_transform)r?   mrB   s     rC   rO   Helix.transformp   s    !#$;;txx/G/G#H  44TXX5I5IJ {{488+?+?@//XX__a#

) 	 	ArE    )N)r@   zOptional[SubclassProcessor]returnr   )rL   r   rV   None)rS   r   rV   r   )__name__
__module____qualname____firstlineno____doc__DXFTYPEr   r   r   r   rI   
DXFATTRIBSr<   rG   rO   __static_attributes____classcell__)rB   s   @rC   r   r   K   sI    Gz;ZPJ 8<4	 
(
 
rE   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_rangerI   r>   r   rU   rE   rC   <module>rr      s>   # * !  . . . ' 4  $+7#) 'B 7&-b"&="2U]]GL-- 	
 --22 
 "a(Q'r1- // 	
 33Aq9 	
E(+
X ,J7  .F . .rE   