
    'j(                       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dS )    )annotations)TYPE_CHECKINGTypeVar
NamedTupleOptional)deepcopyN)DXFError)	DXFEntity)CopyStrategyCopySettingsCopyNotSupporteddefault_copyTr
   )boundc                      e Zd ZdS )r   N)__name__
__module____qualname__     M/DATA/AppData/hermes/venv/lib/python3.11/site-packages/ezdxf/entities/copy.pyr   r      s        Dr   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<   dS )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      s         M $$$$$JLM########## 37)666666r   r   c                  @    e Zd ZU ded<   ej        Zded<   dZded<   dS )
LogMessagestrmessageintlevelNOptional[DXFEntity]entity)r   r   r   r"   loggingWARNINGr(   r*   r   r   r   r$   r$   %   s?         LLLE    "&F&&&&&&r   r$   c                  n    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dS )r   zlist[LogMessage]logsettingsr   returnNonec                    || _         d S N)r/   )selfr/   s     r   __init__zCopyStrategy.__init__.   s     r   r*   r   c                   | j         }|                                }|j        }||_        |j                            |          |_        |j        r|j                                         |j        r,|j        }|#|!|j        r|                    |           |_        |j	        r%|j
        |j
                                        |_
        |j        r|j        |_        |j        rt          |j                  |_        |j        rt          |j                  |_        |j        r|                    |           |                    ||            |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!
        N)copy_strategy)r/   	__class__docdxfcopyr   r   extension_dictis_aliver   reactorsr   proxy_graphicr   r   appdatar   xdatar    	copy_data)r4   r*   r/   cloner9   xdicts         r   r;   zCopyStrategy.copy1   sM    =  ""j	JOOE**	! 	&I##%%%' 	8)E S__ (-zz$'7'7$! 	4fo&A#_1133EN& 	7"("6E   	5$V^44EM  	1"6<00EK& 	-$$V,,,d333r   Nmsgr%   r(   r'   r)   c                X    | j                             t          |||                     d S r3   )r.   appendr$   )clsrE   r(   r*   s       r   add_log_messagezCopyStrategy.add_log_messageZ   s*     	z#uf5566666r   c                8    | j                                          d S r3   )r.   clear)rH   s    r   clear_log_messagezCopyStrategy.clear_log_message`   s    r   )r/   r   r0   r1   )r*   r   r0   r   )rE   r%   r(   r'   r*   r)   r0   r1   )r0   r1   )r   r   r   r.   r"   r5   r;   classmethodr+   r,   rI   rL   r   r   r   r   r   +   s         C! ! ! !' ' ' 'R $+OSW7 7 7 7 [7
    [  r   r   )
__future__r   typingr   r   r   r   r;   r   r+   ezdxf.lldxf.constr	   ezdxf.entitiesr
   __all__r   r   r   r$   r   r   r   r   r   <module>rS      sj   # " " " " " ? ? ? ? ? ? ? ? ? ? ? ?        & & & & & & )(((((( O
N
N GC{###	 	 	 	 	x 	 	 	7 7 7 7 7: 7 7 7' ' ' ' ' ' ' '7 7 7 7 7 7 7 7v |LLNN++r   