"""
This type stub file was generated by pyright.
"""

from .vtkAffineRepresentation import vtkAffineRepresentation

class vtkAffineRepresentation2D(vtkAffineRepresentation):
    """
    vtkAffineRepresentation2D - represent 2D affine transformations
    
    Superclass: vtkAffineRepresentation
    
    This class is used to represent a vtkAffineWidget. This
    representation consists of three parts: a box, a circle, and a cross.
    The box is used for scaling and shearing, the circle for rotation,
    and the cross for translation. These parts are drawn in the overlay
    plane and maintain a constant size (width and height) specified in
    terms of normalized viewport coordinates.
    
    The representation maintains an internal transformation matrix (see
    superclass' GetTransform() method). The transformations generated by
    this widget assume that the representation lies in the x-y plane. If
    this is not the case, the user is responsible for transforming this
    representation's matrix into the correct coordinate space (by
    judicious matrix multiplication). Note that the transformation matrix
    returned by GetTransform() is relative to the last PlaceWidget()
    invocation. (The PlaceWidget() sets the origin around which rotation
    and scaling occurs; the origin is the center point of the bounding
    box provided.)
    
    @sa
    vtkAffineRepresentation vtkAffineWidget
    """
    def BuildRepresentation(self):
        """
        V.BuildRepresentation()
        C++: void BuildRepresentation() override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def ComputeInteractionState(self, p_int, p_int_1, p_int_2):
        """
        V.ComputeInteractionState(int, int, int) -> int
        C++: int ComputeInteractionState(int X, int Y, int modify=0)
            override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def DisplayTextOff(self):
        """
        V.DisplayTextOff()
        C++: virtual void DisplayTextOff()
        
        Enable the display of text with numeric values characterizing the
        transformation. Rotation and shear are expressed in degrees;
        translation the distance in world coordinates; and scale
        normalized (sx,sy) values.
        """
        ...
    
    def DisplayTextOn(self):
        """
        V.DisplayTextOn()
        C++: virtual void DisplayTextOn()
        
        Enable the display of text with numeric values characterizing the
        transformation. Rotation and shear are expressed in degrees;
        translation the distance in world coordinates; and scale
        normalized (sx,sy) values.
        """
        ...
    
    def EndWidgetInteraction(self, p_float=..., p_float=...):
        """
        V.EndWidgetInteraction([float, float])
        C++: void EndWidgetInteraction(double eventPos[2]) override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def GetActors2D(self, vtkPropCollection):
        """
        V.GetActors2D(vtkPropCollection)
        C++: void GetActors2D(vtkPropCollection *) override;
        
        Methods to make this class behave as a vtkProp.
        """
        ...
    
    def GetAxesWidth(self):
        """
        V.GetAxesWidth() -> int
        C++: virtual int GetAxesWidth()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetAxesWidthMaxValue(self):
        """
        V.GetAxesWidthMaxValue() -> int
        C++: virtual int GetAxesWidthMaxValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetAxesWidthMinValue(self):
        """
        V.GetAxesWidthMinValue() -> int
        C++: virtual int GetAxesWidthMinValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetBoxWidth(self):
        """
        V.GetBoxWidth() -> int
        C++: virtual int GetBoxWidth()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetBoxWidthMaxValue(self):
        """
        V.GetBoxWidthMaxValue() -> int
        C++: virtual int GetBoxWidthMaxValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetBoxWidthMinValue(self):
        """
        V.GetBoxWidthMinValue() -> int
        C++: virtual int GetBoxWidthMinValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetCircleWidth(self):
        """
        V.GetCircleWidth() -> int
        C++: virtual int GetCircleWidth()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetCircleWidthMaxValue(self):
        """
        V.GetCircleWidthMaxValue() -> int
        C++: virtual int GetCircleWidthMaxValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetCircleWidthMinValue(self):
        """
        V.GetCircleWidthMinValue() -> int
        C++: virtual int GetCircleWidthMinValue()
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def GetDisplayText(self):
        """
        V.GetDisplayText() -> int
        C++: virtual vtkTypeBool GetDisplayText()
        
        Enable the display of text with numeric values characterizing the
        transformation. Rotation and shear are expressed in degrees;
        translation the distance in world coordinates; and scale
        normalized (sx,sy) values.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instances of this class.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instances of this class.
        """
        ...
    
    def GetOrigin(self):
        """
        V.GetOrigin() -> (float, float, float)
        C++: virtual double *GetOrigin()
        
        Specify the origin of the widget (in world coordinates). The
        origin is the point where the widget places itself. Note that
        rotations and scaling occurs around the origin.
        """
        ...
    
    def GetProperty(self):
        """
        V.GetProperty() -> vtkProperty2D
        C++: virtual vtkProperty2D *GetProperty()
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def GetSelectedProperty(self):
        """
        V.GetSelectedProperty() -> vtkProperty2D
        C++: virtual vtkProperty2D *GetSelectedProperty()
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def GetTextProperty(self):
        """
        V.GetTextProperty() -> vtkTextProperty
        C++: virtual vtkTextProperty *GetTextProperty()
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def GetTransform(self, vtkTransform):
        """
        V.GetTransform(vtkTransform)
        C++: void GetTransform(vtkTransform *t) override;
        
        Retrieve a linear transform characterizing the affine
        transformation generated by this widget. This method copies its
        internal transform into the transform provided. Note that the
        PlaceWidget() method initializes the internal matrix to identity.
        All subsequent widget operations (i.e., scale, translate, rotate,
        shear) are concatenated with the internal transform.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instances of this class.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instances of this class.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkAffineRepresentation2D
        C++: vtkAffineRepresentation2D *NewInstance()
        
        Standard methods for instances of this class.
        """
        ...
    
    def PlaceWidget(self, p_float=..., p_float=..., p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.PlaceWidget([float, float, float, float, float, float])
        C++: void PlaceWidget(double bounds[6]) override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def ReleaseGraphicsResources(self, vtkWindow):
        """
        V.ReleaseGraphicsResources(vtkWindow)
        C++: void ReleaseGraphicsResources(vtkWindow *) override;
        
        Methods to make this class behave as a vtkProp.
        """
        ...
    
    def RenderOverlay(self, vtkViewport):
        """
        V.RenderOverlay(vtkViewport) -> int
        C++: int RenderOverlay(vtkViewport *viewport) override;
        
        Methods to make this class behave as a vtkProp.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkAffineRepresentation2D
        C++: static vtkAffineRepresentation2D *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for instances of this class.
        """
        ...
    
    def SetAxesWidth(self, p_int):
        """
        V.SetAxesWidth(int)
        C++: virtual void SetAxesWidth(int _arg)
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def SetBoxWidth(self, p_int):
        """
        V.SetBoxWidth(int)
        C++: virtual void SetBoxWidth(int _arg)
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def SetCircleWidth(self, p_int):
        """
        V.SetCircleWidth(int)
        C++: virtual void SetCircleWidth(int _arg)
        
        Specify the width of the various parts of the representation (in
        pixels).  The three parts are of the representation are the
        translation axes, the rotation circle, and the scale/shear box.
        Note that since the widget resizes itself so that the width and
        height are always the same, only the width needs to be specified.
        """
        ...
    
    def SetDisplayText(self, p_int):
        """
        V.SetDisplayText(int)
        C++: virtual void SetDisplayText(vtkTypeBool _arg)
        
        Enable the display of text with numeric values characterizing the
        transformation. Rotation and shear are expressed in degrees;
        translation the distance in world coordinates; and scale
        normalized (sx,sy) values.
        """
        ...
    
    def SetOrigin(self, ):
        """
        V.SetOrigin((float, float, float))
        C++: void SetOrigin(const double o[3])
        V.SetOrigin(float, float, float)
        C++: void SetOrigin(double ox, double oy, double oz)
        
        Specify the origin of the widget (in world coordinates). The
        origin is the point where the widget places itself. Note that
        rotations and scaling occurs around the origin.
        """
        ...
    
    def SetProperty(self, vtkProperty2D):
        """
        V.SetProperty(vtkProperty2D)
        C++: void SetProperty(vtkProperty2D *)
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def SetSelectedProperty(self, vtkProperty2D):
        """
        V.SetSelectedProperty(vtkProperty2D)
        C++: void SetSelectedProperty(vtkProperty2D *)
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def SetTextProperty(self, vtkTextProperty):
        """
        V.SetTextProperty(vtkTextProperty)
        C++: void SetTextProperty(vtkTextProperty *)
        
        Set/Get the properties when unselected and selected.
        """
        ...
    
    def ShallowCopy(self, vtkProp):
        """
        V.ShallowCopy(vtkProp)
        C++: void ShallowCopy(vtkProp *prop) override;
        
        Methods to make this class behave as a vtkProp.
        """
        ...
    
    def StartWidgetInteraction(self, p_float=..., p_float=...):
        """
        V.StartWidgetInteraction([float, float])
        C++: void StartWidgetInteraction(double eventPos[2]) override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def WidgetInteraction(self, p_float=..., p_float=...):
        """
        V.WidgetInteraction([float, float])
        C++: void WidgetInteraction(double eventPos[2]) override;
        
        Subclasses of vtkAffineRepresentation2D must implement these
        methods. These are the methods that the widget and its
        representation use to communicate with each other. Note:
        PlaceWidget() reinitializes the transformation matrix (i.e., sets
        it to identity). It also sets the origin for scaling and
        rotation.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


