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

from .vtkVector_IiLi4EE import vtkVector_IiLi4EE

class vtkRect_IiE(vtkVector_IiLi4EE):
    """
    vtkRect- templated base type for storage of 2D rectangles.
    
    Superclass: vtkVector[int32,4]
    
    This class is a templated data type for storing and manipulating
    rectangles. The memory layout is a contiguous array of the specified
    type, such that a float[4] can be cast to a vtkRectf and manipulated.
    Also a float[12] could be cast and used as a vtkRectf[3].
    
    vtkRect()
    vtkRect(const int &x, const int &y, const int &width,
        const int &height)
    explicit vtkRect(const int *init)
    vtkRect(const &vtkRect<int>)
    """
    def AddPoint(self, ):
        """
        V.AddPoint((int, int))
        C++: void AddPoint(const int point[2])
        V.AddPoint(int, int)
        C++: void AddPoint(int x, int y)
        
        Expand this rect to contain the point passed in.
        """
        ...
    
    def AddRect(self, vtkRect_IiE):
        """
        V.AddRect(vtkRect_IiE)
        C++: void AddRect(const vtkRect<int> &rect)
        
        Expand this rect to contain the rect passed in.
        """
        ...
    
    def GetBottom(self):
        """
        V.GetBottom() -> int
        C++: const int &GetBottom()
        
        Get the bottom boundary of the rectangle along the Y direction.
        """
        ...
    
    def GetBottomLeft(self):
        """
        V.GetBottomLeft() -> vtkVector2_IiE
        C++: vtkVector2<int> GetBottomLeft()
        
        Get the bottom left corner of the rect as a vtkVector.
        """
        ...
    
    def GetBottomRight(self):
        """
        V.GetBottomRight() -> vtkVector_IiLi2EE
        C++: vtkVector<int, 2> GetBottomRight()
        
        Get the bottom right corner of the rect as a vtkVector.
        """
        ...
    
    def GetHeight(self):
        """
        V.GetHeight() -> int
        C++: const int &GetHeight()
        
        Get the height of the rectangle, i.e. element 3.
        """
        ...
    
    def GetLeft(self):
        """
        V.GetLeft() -> int
        C++: const int &GetLeft()
        
        Get the left boundary of the rectangle along the X direction.
        """
        ...
    
    def GetRight(self):
        """
        V.GetRight() -> int
        C++: int GetRight()
        
        Get the right boundary of the rectangle along the X direction.
        """
        ...
    
    def GetTop(self):
        """
        V.GetTop() -> int
        C++: int GetTop()
        
        Get the top boundary of the rectangle along the Y direction.
        """
        ...
    
    def GetTopLeft(self):
        """
        V.GetTopLeft() -> vtkVector_IiLi2EE
        C++: vtkVector<int, 2> GetTopLeft()
        
        Get the top left corner of the rect as a vtkVector.
        """
        ...
    
    def GetTopRight(self):
        """
        V.GetTopRight() -> vtkVector_IiLi2EE
        C++: vtkVector<int, 2> GetTopRight()
        
        Get the bottom left corner of the rect as a vtkVector.
        """
        ...
    
    def GetWidth(self):
        """
        V.GetWidth() -> int
        C++: const int &GetWidth()
        
        Get the width of the rectangle, i.e. element 2.
        """
        ...
    
    def GetX(self):
        """
        V.GetX() -> int
        C++: const int &GetX()
        
        Get the x component of the rectangle bottom corner, i.e. element
        0.
        """
        ...
    
    def GetY(self):
        """
        V.GetY() -> int
        C++: const int &GetY()
        
        Get the y component of the rectangle bottom corner, i.e. element
        1.
        """
        ...
    
    def Intersect(self, vtkRect_IiE):
        """
        V.Intersect(vtkRect_IiE) -> bool
        C++: bool Intersect(const vtkRect<int> &other)
        
        Intersect with `other` rectangle. If
        `this->IntersectsWith(other)` is true, this method will update
        this rect to the intersection of `this` and `other` and return
        true. If `this->IntersectsWith(other)` returns false, then this
        method will return false leaving this rect unchanged.
        
        Returns true if the intersection was performed otherwise false.
        """
        ...
    
    def IntersectsWith(self, vtkRect_IiE):
        """
        V.IntersectsWith(vtkRect_IiE) -> bool
        C++: bool IntersectsWith(const vtkRect<int> &rect)
        
        Returns true if the rect argument overlaps this rect. If the
        upper bound of one rect is equal to the lower bound of the other
        rect, then this will return false (in that case, the rects would
        be considered to be adjacent but not overlapping).
        """
        ...
    
    def MoveTo(self, p_int, p_int_1):
        """
        V.MoveTo(int, int)
        C++: void MoveTo(int x, int y)
        
        Move the rectangle, moving the bottom-left corner to the given
        position. The rectangles size remains unchanged.
        """
        ...
    
    def Set(self, p_int, p_int_1, p_int_2, p_int_3):
        """
        V.Set(int, int, int, int)
        C++: void Set(const int &x, const int &y, const int &width,
            const int &height)
        
        Set the x, y components of the rectangle, and the width/height.
        """
        ...
    
    def SetHeight(self, p_int):
        """
        V.SetHeight(int)
        C++: void SetHeight(const int &height)
        
        Set the height of the rectangle, i.e. element 3.
        """
        ...
    
    def SetWidth(self, p_int):
        """
        V.SetWidth(int)
        C++: void SetWidth(const int &width)
        
        Set the width of the rectanle, i.e. element 2.
        """
        ...
    
    def SetX(self, p_int):
        """
        V.SetX(int)
        C++: void SetX(const int &x)
        
        Set the x component of the rectangle bottom corner, i.e. element
        0.
        """
        ...
    
    def SetY(self, p_int):
        """
        V.SetY(int)
        C++: void SetY(const int &y)
        
        Set the y component of the rectangle bottom corner, i.e. element
        1.
        """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __hash__(self, *args, **kwargs) -> int:
        """ Return hash(self). """
        ...
    
    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). """
        ...
    


