
    Og(                        d dl mZ d dlmZmZmZmZ d dlmZ d dl	Z	d dl
mZ erd dlmZ g dZ edd	
      Z G d de      Z G d de      Z G d de      Z G d d      Z e e             Zy)    )annotations)TYPE_CHECKINGTypeVar
NamedTupleOptional)deepcopyN)DXFError)	DXFEntity)CopyStrategyCopySettingsCopyNotSupporteddefault_copyTr
   )boundc                      e Zd Zy)r   N)__name__
__module____qualname__     X/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/copy.pyr   r      s    r   r   c                  ~    e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded<   dZ	ded	<   dZ
ded
<   dZded<   y)r   Tboolreset_handlescopy_extension_dict
copy_xdatacopy_appdataFcopy_reactorscopy_proxy_graphicset_source_of_copy%ignore_copy_errors_in_linked_entitiesN)r   r   r   r   __annotations__r   r   r   r   r   r    r!   r   r   r   r   r      sX    M4 $$JL$M4#### 37)46r   r   c                  H    e Zd ZU ded<   ej
                  Zded<   dZded<   y)
LogMessagestrmessageintlevelNOptional[DXFEntity]entity)r   r   r   r"   loggingWARNINGr(   r*   r   r   r   r$   r$   %   s     LE3 "&F&r   r$   c                  x    e Zd ZU g Zded<   ddZd	dZeej                  df	 	 	 	 	 	 	 d
d       Z
edd       Zy)r   zlist[LogMessage]logc                    || _         y N)settings)selfr1   s     r   __init__zCopyStrategy.__init__.   s	     r   c                   | j                   }|j                         }|j                  }||_        |j                  j	                  |      |_        |j
                  r|j                  j                          |j                  r2|j                  }|$|"|j                  r|j	                  |       |_        |j                  r+|j                  |j                  j	                         |_
        |j                  r|j                  |_        |j                  rt        |j                        |_        |j                   rt        |j"                        |_        |j$                  r|j%                  |       |j'                  ||        |S )zEntity copy for usage in the same document or as virtual entity.

        This copy is NOT stored in the entity database and does NOT reside in any
        layout, block, table or objects section!
        )copy_strategy)r1   	__class__docdxfcopyr   r   extension_dictis_aliver   reactorsr   proxy_graphicr   r   appdatar   xdatar    	copy_data)r2   r*   r1   cloner7   xdicts         r   r9   zCopyStrategy.copy1   s1    ==  "jj	JJOOE*	!!II##%''))E S_ (-zz$'7$!!foo&A#__113EN&&"("6"6E   $V^^4EM "6<<0EK&&$$V,d3r   Nc                P    | j                   j                  t        |||             y r0   )r.   appendr$   )clsmsgr(   r*   s       r   add_log_messagezCopyStrategy.add_log_messageZ   s     	z#uf56r   c                8    | j                   j                          y r0   )r.   clear)rE   s    r   clear_log_messagezCopyStrategy.clear_log_message`   s    r   )r1   r   returnNone)r*   r   rK   r   )rF   r%   r(   r'   r*   r)   rK   rL   )rK   rL   )r   r   r   r.   r"   r3   r9   classmethodr+   r,   rG   rJ   r   r   r   r   r   +   sj    C	!'R $+OOSW77!7=P7	7 7
  r   r   )
__future__r   typingr   r   r   r   r9   r   r+   ezdxf.lldxf.constr	   ezdxf.entitiesr
   __all__r   r   r   r$   r   r   r   r   r   <module>rS      sr    # ? ?   &( O C{#	x 	7: 7' '7 7v LN+r   