
    OgL                    >   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jN                  e       edd       edd       edd d       edddejP                  e       edd d       edejN                  edejR                  e       d!	      Z* ee*      Z+ eee+      Z,e  G d" de             Z-y#)$    )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SHAPEc                    t         t        |   |      }|r.|j                  |t               |j
                  rt        |d       |S )z!Loading interface. (internal API))center)superr   load_dxf_attribssimple_dxfattribs_loadermerged_shape_group_codesr12r   )self	processordxf	__class__s      Y/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/shape.pyr<   zShape.load_dxf_attribsZ   s@    
 J6yA..s4LM}}#C5
    c                    t         |   |       |j                  t        kD  r$|j	                  t
        t        j                         | j                  j                  |g d       y)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   rB   export_dxf_attribs)r@   	tagwriterrC   s     rD   rG   zShape.export_entityg   sL    i(%'  *//B##		
rE   c                (   | j                   }|j                  |j                        |_        t        | j                   j                  |      }|j                  |j                        |_        |j                  d|j                  df      |_        |j                  |j                  ddf|j                        |_	        |j                  d      r |j                  |j                        |_        |j                  |_        | j                  |       | S )z@Transform the SHAPE entity by transformation matrix `m` inplace.r   )
reflectionr/   )rB   	transformr0   r   r6   transform_deg_angler3   transform_lengthr1   x_scalehasattrtransform_thicknessr/   new_extrusionpost_transform)r@   mrB   ocss       rD   rO   zShape.transformz   s    hh[[,
488--q1..s||<''CHHa(89**[[!QCKK + 
 ;;{#33CMMBCM))ArE   )N)rA   zOptional[SubclassProcessor]returnr   )rL   r   rY   None)rW   r   rY   r   )__name__
__module____qualname____doc__DXFTYPEr   r   r   rJ   
DXFATTRIBSr<   rG   rO   __classcell__)rC   s   @rD   r   r   S   s=    Gz;
CJ 8<4	
&rE   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_vectorrJ   acdb_shape_group_codesr>   r    rE   rD   <module>rt      s8   # * !   5 & 2 4  %+7# ) 
 RT:RT:"EMM7CA&2&BD9++ 
 2q48--22 
3!$
J ,J7 43 
 6J 6 6rE   