Ë
    £èhÖ  ã                  ó>  — 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   Úfixeré3   éÒ   )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      €ú4lib/python3.12/site-packages/ezdxf/entities/shape.pyr<   zShape.load_dxf_attribsZ   s@   ø€ ô
 ”J Ñ6°yÓAˆÙØ×.Ñ.¨sÔ4LÔ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×   € à�h‰hˆØ—[‘[ §¡Ó,ˆŒ
Ü˜4Ÿ8™8×-Ñ-¨qÓ1ˆà×.Ñ.¨s¯|©|Ó<ˆŒØ×'Ñ'¨¨C¯H©H°aÐ(8Ó9ˆŒØ×*Ñ*Ø�[‰[˜!˜QÐ¨C¯K©Kð +ó 
ˆŒð �;‰;�{Ô#Ø×3Ñ3°C·M±MÓBˆCŒMà×)Ñ)ˆŒØ×Ñ˜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¨;¸
ÓC€Jð 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Ô:á˜" E§M¡M¸7ÔCá˜ AÔ&á˜ 2Ô&á˜B¨°DÔ9áØØØØ×+Ñ+Ø ô
ñ ˜2 q°4Ô8ÙØØ—-‘-ØØØ×2Ñ2Ø ô
ñ3!ó$€
ñJ ,¨JÓ7Ð Ù4ØÐ3óÐ ð
 ô6ˆJó 6ó ñ6rE   