
    'jL                    l   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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mZ dd
lmZmZmZ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 d           edd d           edej'        e           edd           edd           edd d           edddej(        e           edd d           edej'        edej)        e           d!	          Z* ee*          Z+ e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merge_group_code_mappings)DXF12SUBCLASS_MARKER)NULLVECZ_AXIS)OCSTransform   )
base_classSubclassProcessor)
DXFGraphicacdb_entityelevation_to_z_axisacdb_entity_group_codes)register_entity)DXFNamespace)AbstractTagWriter)Matrix44Shape	AcDbShape&   T)defaultoptional'   
   )xtyper!   (   )r!       2   )   )r!   r"   r   fixer3      )r%   r!   r"   r   r+   )		elevation	thicknessinsertsizenamerotationxscaleoblique	extrusionc                  Z     e Zd ZdZdZ eeee          Z		 dd fdZ
d fdZddZ xZS )r   zDXF SHAPE entitySHAPEN	processorOptional[SubclassProcessor]returnr   c                    t          t          |                               |          }|r2|                    |t                     |j        rt          |d           |S )z!Loading interface. (internal API))center)superr   load_dxf_attribssimple_dxfattribs_loadermerged_shape_group_codesr12r   )selfr9   dxf	__class__s      N/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/entities/shape.pyr?   zShape.load_dxf_attribsZ   s`    
 J%%66yAA 	6..s4LMMM} 6#C555
    	tagwriterr   Nonec                    t                                          |           |j        t          k    r%|                    t
          t          j                   | j        	                    |g d           dS )z(Export entity specific data as DXF tags.)r0   r1   r2   r/   r3   r4   r5   r6   N)
r>   export_entity
dxfversionr   
write_tag2r   
acdb_shaper2   rD   export_dxf_attribs)rC   rH   rE   s     rF   rK   zShape.export_entityg   sw    i(((%''  */BBB##	 	 		
 	
 	
 	
 	
rG   mr   c                   | j         }|                    |j                  |_        t          | j         j        |          }|                    |j                  |_        |                    d|j        df          |_        |                    |j	        ddf|j	                  |_	        |
                    d          r|                    |j                  |_        |j        |_        |                     |           | S )z@Transform the SHAPE entity by transformation matrix `m` inplace.r   )
reflectionr/   )rD   	transformr0   r   r6   transform_deg_angler3   transform_lengthr1   x_scalehasattrtransform_thicknessr/   new_extrusionpost_transform)rC   rP   rD   ocss       rF   rS   zShape.transformz   s    h[[,,
48-q11..s|<<''CHa(899**[!QCK + 
 
 ;;{## 	C33CMBBCM)ArG   )N)r9   r:   r;   r   )rH   r   r;   rI   )rP   r   r;   r   )__name__
__module____qualname____doc__DXFTYPEr   r   r   rN   
DXFATTRIBSr?   rK   rS   __classcell__)rE   s   @rF   r   r   S   s        Gz;
CCJ 8<      
 
 
 
 
 
&       rG   N).
__future__r   typingr   r   ezdxf.lldxfr   ezdxf.lldxf.attributesr   r   r	   r
   r   r   r   ezdxf.lldxf.constr   r   
ezdxf.mathr   r   ezdxf.math.transformtoolsr   	dxfentityr   r   dxfgfxr   r   r   r   factoryr   ezdxf.entitiesr   ezdxf.lldxf.tagwriterr   r   __all__point3dis_not_zerois_not_null_vectorrN   acdb_shape_group_codesrA   r    rG   rF   <module>ru      s   # " " " " " * * * * * * * * ! ! ! ! ! !                  5 4 4 4 4 4 4 4 & & & & & & & & 2 2 2 2 2 2 4 4 4 4 4 4 4 4            % $ $ $ $ $ $++++++777777###### ) [
 WRT:::WRT:::'"EM7CCCA&&&2&&&GBD999'+ 
 
 
 72q4888W-2 
 
 
3! !$ $
J ,+J77 443  
 6 6 6 6 6J 6 6 6 6 6rG   