Ë
    £èhh  ã                  ó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Ú	AcDbHelixéZ   é   )Ú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      €ú4lib/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Ô(Ø×Ñœ_¬j¯o©oÔ>Ø�‰×#Ñ#Øòõ	
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´   ø€ ä‰Ñ˜!ÔØ#$§;¡;¨t¯x©x×/GÑ/GÓ#Hˆ�‰Ô Ø ×4Ñ4°T·X±X×5IÑ5IÓJˆ�‰ÔØ Ÿ{™{¨4¯8©8×+?Ñ+?Ó@ˆ�‰ÔØ×/Ñ/Ø�X‰X�_‰_˜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ÓP€Jð 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¸"Ô&=Ù" 2¨U¯]©]ÀGÔLÙØØ—-‘-ØØ ô	
ñ ØØ—-‘-ØØ×2Ñ2Ø ô
ñ ˜" aÔ(Ù˜ QÔ'Ù˜r¨1Ô-ñ ØØØ×/Ñ/Ø ô	
ñ ØØØ3�i×3Ñ3°A°qÓ9Ø ô	
ñE(ó+€
ñX ,¨JÓ7Ð ð ô.ˆFó .ó ñ.rC   