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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkBSPIntersections(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkBSPIntersections - Perform calculations (mostly intersection
      calculations) on regions of a 3D binary spatial partitioning.
    
    Superclass: vtkObject
    
    Given an axis aligned binary spatial partitioning described by a
       vtkBSPCuts object, perform intersection queries on various
       geometric entities with regions of the spatial partitioning.
    
    @sa
       vtkBSPCuts  vtkKdTree
    """
    def ComputeIntersectionsUsingDataBoundsOff(self):
        """
        V.ComputeIntersectionsUsingDataBoundsOff()
        C++: void ComputeIntersectionsUsingDataBoundsOff()
        """
        ...
    
    def ComputeIntersectionsUsingDataBoundsOn(self):
        """
        V.ComputeIntersectionsUsingDataBoundsOn()
        C++: void ComputeIntersectionsUsingDataBoundsOn()
        """
        ...
    
    def GetBounds(self, *float):
        """
        V.GetBounds([float, ...]) -> int
        C++: int GetBounds(double *bounds)
        
        Get the bounds of the whole space (xmin, xmax, ymin, ymax, zmin,
        zmax) Return 0 if OK, 1 on error.
        """
        ...
    
    def GetComputeIntersectionsUsingDataBounds(self):
        """
        V.GetComputeIntersectionsUsingDataBounds() -> int
        C++: virtual int GetComputeIntersectionsUsingDataBounds()
        
        When computing the intersection of k-d tree regions with other
        objects, we use the spatial bounds of the region.  To use the
        tighter bound of the bounding box of the data within the region,
        set this variable ON.  (Specifying data bounds in the vtkBSPCuts
        object is optional.  If data bounds were not specified, this
        option has no meaning.)
        """
        ...
    
    def GetCuts(self):
        """
        V.GetCuts() -> vtkBSPCuts
        C++: virtual vtkBSPCuts *GetCuts()
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfRegions(self):
        """
        V.GetNumberOfRegions() -> int
        C++: int GetNumberOfRegions()
        
        The number of regions in the binary spatial partitioning
        """
        ...
    
    def GetRegionBounds(self, p_int, p_float=..., p_float=..., p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetRegionBounds(int, [float, float, float, float, float, float])
             -> int
        C++: int GetRegionBounds(int regionID, double bounds[6])
        
        Get the spatial bounds of a particular region Return 0 if OK, 1
        on error.
        """
        ...
    
    def GetRegionDataBounds(self, p_int, p_float=..., p_float=..., p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetRegionDataBounds(int, [float, float, float, float, float,
            float]) -> int
        C++: int GetRegionDataBounds(int regionID, double bounds[6])
        
        Get the bounds of the data within the k-d tree region, possibly
        smaller than the bounds of the region. Return 0 if OK, 1 on
        error.
        """
        ...
    
    def IntersectsBox(self, p_int, *float):
        """
        V.IntersectsBox(int, [float, ...]) -> int
        C++: int IntersectsBox(int regionId, double *x)
        V.IntersectsBox(int, float, float, float, float, float, float)
            -> int
        C++: int IntersectsBox(int regionId, double xmin, double xmax,
            double ymin, double ymax, double zmin, double zmax)
        V.IntersectsBox([int, ...], int, [float, ...]) -> int
        C++: int IntersectsBox(int *ids, int len, double *x)
        V.IntersectsBox([int, ...], int, float, float, float, float,
            float, float) -> int
        C++: int IntersectsBox(int *ids, int len, double x0, double x1,
            double y0, double y1, double z0, double z1)
        
        Determine whether a region of the spatial decomposition
        intersects an axis aligned box.
        """
        ...
    
    def IntersectsCell(self, p_int, vtkCell, p_int_1):
        """
        V.IntersectsCell(int, vtkCell, int) -> int
        C++: int IntersectsCell(int regionId, vtkCell *cell,
            int cellRegion=-1)
        V.IntersectsCell([int, ...], int, vtkCell, int) -> int
        C++: int IntersectsCell(int *ids, int len, vtkCell *cell,
            int cellRegion=-1)
        
        Determine whether a region of the spatial decomposition
        intersects the given cell.  If you already know the region that
        the cell centroid lies in, provide that as the last argument to
        make the computation quicker.
        """
        ...
    
    def IntersectsSphere2(self, p_int, p_float, p_float_1, p_float_2, p_float_3):
        """
        V.IntersectsSphere2(int, float, float, float, float) -> int
        C++: int IntersectsSphere2(int regionId, double x, double y,
            double z, double rSquared)
        V.IntersectsSphere2([int, ...], int, float, float, float, float)
            -> int
        C++: int IntersectsSphere2(int *ids, int len, double x, double y,
            double z, double rSquared)
        
        Determine whether a region of the spatial decomposition
        intersects a sphere, given the center of the sphere and the
        square of it's radius.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkBSPIntersections
        C++: vtkBSPIntersections *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkBSPIntersections
        C++: static vtkBSPIntersections *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetComputeIntersectionsUsingDataBounds(self, p_int):
        """
        V.SetComputeIntersectionsUsingDataBounds(int)
        C++: void SetComputeIntersectionsUsingDataBounds(int c)
        """
        ...
    
    def SetCuts(self, vtkBSPCuts):
        """
        V.SetCuts(vtkBSPCuts)
        C++: void SetCuts(vtkBSPCuts *cuts)
        
        Define the binary spatial partitioning.
        """
        ...
    
    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__ = ...


