
    'j                       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j$        e           edej$        ee           edej$        eej%        e           edd           edd           edd           eddej&        e            ed!d ej'        d d"          e           d#
          Z( ee(          Z)e G d$ de                      Z*d%S )&    )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HELIXN	processorOptional[SubclassProcessor]returnr   c                    t                                          |          }|r|                    |t          dd           |S )Nr*   T)recover)superload_dxf_attribsfast_load_dxfattribsacdb_helix_group_codes)selfr8   dxf	__class__s      N/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/entities/helix.pyr>   zHelix.load_dxf_attribsR   sR     gg&&y11 	**+Q +    
    	tagwriterr   Nonec                    t                                          |           |                    t          t          j                   | j                            |g d           dS )z(Export entity specific data as DXF tags.r+   N)r=   export_entity
write_tag2r   
acdb_helixnamerB   export_dxf_attribs)rA   rF   rC   s     rD   rI   zHelix.export_entity\   si    i(((_jo>>>##  	
 	
 	
 	
 	
rE   mr   c                   t                                          |           |                    | j        j                  | j        _        |                    | j        j                  | j        _        |                    | j        j                  | j        _        |                    | j        j        ddf          j        | j        _        | 	                    |           | S )z@Transform the HELIX entity by transformation matrix `m` inplace.r   )
r=   	transformrB   r.   transform_directionr0   r/   r1   	magnitudepost_transform)rA   rN   rC   s     rD   rP   zHelix.transformp   s    !#$;;tx/G#H#H  44TX5IJJ {{48+?@@//X_a#
 

 	 	ArE   )N)r8   r9   r:   r   )rF   r   r:   rG   )rN   r   r:   r   )__name__
__module____qualname____doc__DXFTYPEr   r   r   r   rK   
DXFATTRIBSr>   rI   rP   __classcell__)rC   s   @rD   r   r   K   s        Gz;ZPPJ 8<      
 
 
 
 
 
(
 
 
 
 
 
 
 
 
 
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_rangerK   r@   r    rE   rD   <module>rm      s   # " " " " " * * * * * * * * ! ! ! ! ! !                . - - - - - . . . . . . . . . . ' ' ' ' ' ' ' ' 4 4 4 4 4 4 4 4       $ $ $ $ $ $ $++++++777777######)[ 'B 7 7 7&-gb"&=&=&="72U]GLLLw- 	
 
 
 w-2 
 
 
 '"a(((Q'''wr1--- g/ 	
 
 
 W3i3Aq99 	
 
 
E( (+ +
X ,+J77  . . . . .F . . . . .rE   