
    Og[                       d dl 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mZ ddlmZ dd	lmZ dd
lmZ erd dlmZmZ d dlmZ d dlmZ g dZ edi       Z e G d de             Z! edd edd       i      Z" ee"      Z# edi       Z$e G d de!             Z% edi       Z& edi       Z'e G d de!             Z(y)    )annotations)TYPE_CHECKINGOptional)Self)SUBCLASS_MARKERDXFStructureError)DXFAttributesDefSubclassDXFAttrgroup_code_mapping   )
base_classSubclassProcessor)	DXFObject)register_entity)default_copy)DXFNamespace	DXFEntity)AbstractTagWriter)Tags)IDBuffer	FieldListLayerFilterAcDbIdBufferc                  x     e Zd ZdZdZ eee      Zd	 fdZ	e
fd
dZ	 d	 	 	 d fdZddZd fdZddZ xZS )r   zDXF IDBUFFER entityIDBUFFERc                0    t         |           g | _        y N)super__init__handles)self	__class__s    \/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/idbuffer.pyr    zIDBuffer.__init__#   s    "$    c                \    t        |t              sJ t        | j                        |_        y)zCopy handlesN)
isinstancer   listr!   )r"   entitycopy_strategys      r$   	copy_datazIDBuffer.copy_data'   s"    &(+++dll+r%   c                    t         |   |      }|rOt        |j                        dk  rt	        d|j
                   d      | j                  |j                  d          |S )N   z'Missing required subclass in IDBUFFER(#)r   )r   load_dxf_attribslen
subclassesr   handleload_handlesr"   	processordxfr#   s      r$   r/   zIDBuffer.load_dxf_attribs,   sg     g&y19''(1,'=cjj\K  i22156
r%   c                P    |D cg c]  \  }}|dk(  s| c}}| _         y c c}}w NiJ  )r!   )r"   tagscodevalues       r$   r3   zIDBuffer.load_handles8   s!    15E+$EEs   ""c                    t         |   |       |j                  t        t        j
                         | j                  |       y(Export entity specific data as DXF tags.N)r   export_entity
write_tag2r   acdb_id_buffernameexport_handlesr"   	tagwriterr#   s     r$   r?   zIDBuffer.export_entity;   s4    i(_n.A.ABI&r%   c                J    | j                   D ]  }|j                  d|        y r8   )r!   r@   )r"   rE   r2   s      r$   rC   zIDBuffer.export_handlesA   s%    ll 	.F  f-	.r%   )returnNone)r)   r   rG   rH   r   r5   zOptional[SubclassProcessor]rG   r   )r9   r   rE   r   rG   rH   )rE   r   )__name__
__module____qualname____doc__DXFTYPEr	   r   rA   
DXFATTRIBSr    r   r+   r/   r3   r?   rC   __classcell__r#   s   @r$   r   r      sQ    Gz>:J% 5A , 8<
4
	
F'.r%   r   	AcDbIdSetflagsZ   )defaultAcDbFieldListc                  R     e Zd ZdZdZ eeee      Z		 d	 	 	 d fdZ
d fdZ xZS )r   zDXF FIELDLIST entity	FIELDLISTc                    t         t        |   |      }|rft        |j                        dk  rt        d|j                   d      |j                  |t        d       | j                  |j                  d          |S )N   z(Missing required subclass in FIELDLIST(#r.   r   r-   )
r   r   r/   r0   r1   r   r2   fast_load_dxfattribsacdb_id_set_group_codesr3   r4   s      r$   r/   zFieldList.load_dxf_attribsW   s|     It5i@9''(1,'>szzl!L  **30GKi22156
r%   c                   t         t        |   |       |j                  t        t
        j                         | j                  j                  |d       |j                  t        t        j                         | j                  |       y)r>   rT   N)r   r   r?   r@   r   acdb_id_setrB   r6   export_dxf_attribsacdb_field_listrC   rD   s     r$   r?   zFieldList.export_entitye   s`    i,Y7_k.>.>?##Iw7_o.B.BCI&r%   r   rI   rJ   )rK   rL   rM   rN   rO   r	   r   r_   ra   rP   r/   r?   rQ   rR   s   @r$   r   r   P   s=    Gz;HJ 8<4	' 'r%   r   
AcDbFilterAcDbLayerFilterc                  R     e Zd ZdZdZ eeee      Z		 d	 	 	 d fdZ
d fdZ xZS )r   zDXF LAYER_FILTER entityLAYER_FILTERc                    t         t        |   |      }|rOt        |j                        dk  rt        d|j                   d      | j                  |j                  d          |S )Nr[   z+Missing required subclass in LAYER_FILTER(#r.   r-   )r   r   r/   r0   r1   r   r2   r3   r4   s      r$   r/   zLayerFilter.load_dxf_attribsy   si     It5i@9''(1,'A#**QO  i22156
r%   c                    t         t        |   |       |j                  t        t
        j                         |j                  t        t        j                         | j                  |       yr=   )	r   r   r?   r@   r   acdb_filterrB   acdb_layer_filterrC   rD   s     r$   r?   zLayerFilter.export_entity   sM    i,Y7_k.>.>?_.?.D.DEI&r%   r   rI   rJ   )rK   rL   rM   rN   rO   r	   r   rh   ri   rP   r/   r?   rQ   rR   s   @r$   r   r   r   s>    !Gz;8IJJ 8<4	' 'r%   r   N))
__future__r   typingr   r   typing_extensionsr   ezdxf.lldxf.constr   r   ezdxf.lldxf.attributesr	   r
   r   r   	dxfentityr   r   dxfobjr   factoryr   copyr   ezdxf.entitiesr   r   ezdxf.lldxf.tagwriterr   ezdxf.lldxf.tagsr   __all__rA   r   r_   r]   ra   r   rh   ri   r    r%   r$   <module>rx      s    # * " @  5  $ 67%
2^R0 &.y &. &.R Q' -[9 or2 ' ' ': ,+ 126  '( ' 'r%   