
    ^j                        d dl mZ d dlmZ d dlmZ d dlZerd dlmZ d dl	m
Z
 ddgZ G d	 dej                        Z G d
 de      Zy)    )annotations)TYPE_CHECKING)SelfN)Matrix44)	DXFEntityTemporaryTransformationTransformByBlockReferencec                  |    e Zd ZdZd	dZd
dZddZddZej                  dd       Z
ej                  dd       Zy)r   _matrixc                    d | _         y Nr   selfs    [/opt/ringagent/.cad-venv/lib/python3.12/site-packages/ezdxf/entities/temporary_transform.py__init__z TemporaryTransformation.__init__   s	    (,    c                    | j                   S r   r   r   s    r   
get_matrixz"TemporaryTransformation.get_matrix   s    ||r   c                    || _         y r   r   )r   ms     r   
set_matrixz"TemporaryTransformation.set_matrix   s	    r   c                T    | j                         }|||z  }| j                  |       y r   )r   r   )r   r   matrixs      r   
add_matrixz"TemporaryTransformation.add_matrix   s)    "
Ar   c                     y r    r   s    r   copyzTemporaryTransformation.copy!   s    r   c                     y r   r   )r   entitys     r   apply_transformationz,TemporaryTransformation.apply_transformation$   s    ?Br   N)returnNone)r"   Matrix44 | None)r   r$   r"   r#   )r   r   r"   r#   r"   r   r    r   r"   bool)__name__
__module____qualname__	__slots__r   r   r   r   abcabstractmethodr   r!   r   r   r   r   r      sE    I- 	 B Br   c                       e Zd ZdZddZddZy)r	   r   c                l    ddl m} | j                         }|y |||      r| j                  d        yy)Nr   )transform_entity_by_blockrefFT)ezdxf.transformr0   r   r   )r   r    r0   r   s       r   r!   z.TransformByBlockReference.apply_transformation+   s5    @OO9'2OOD!r   c                H    | j                         }| j                  |_        |S r   )	__class__r   )r   clones     r   r   zTransformByBlockReference.copy7   s     r   Nr&   r%   )r(   r)   r*   r+   r!   r   r   r   r   r	   r	   (   s    I
r   )
__future__r   typingr   typing_extensionsr   r,   
ezdxf.mathr   ezdxf.entities.dxfgfxr   __all__ABCr   r	   r   r   r   <module>r<      sF    #   " 
#/$&A
BCcgg C2 7 r   