# encoding: utf-8
# module vtkmodules.vtkCommonDataModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonDataModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonMath as __vtkmodules_vtkCommonMath
import vtkmodules.vtkCommonTransforms as __vtkmodules_vtkCommonTransforms


from .vtkAbstractCellLocator import vtkAbstractCellLocator

class vtkCellLocator(vtkAbstractCellLocator):
    """
    vtkCellLocator - octree-based spatial search object to quickly locate
    cells
    
    Superclass: vtkAbstractCellLocator
    
    vtkCellLocator is a spatial search object to quickly locate cells in
    3D. vtkCellLocator uses a uniform-level octree subdivision, where
    each octant (an octant is also referred to as a bucket) carries an
    indication of whether it is empty or not, and each leaf octant
    carries a list of the cells inside of it. (An octant is not empty if
    it has one or more cells inside of it.)  Typical operations are
    intersection with a line to return candidate cells, or intersection
    with another vtkCellLocator to return candidate cells.
    
    @warning
    vtkCellLocator utilizes the following parent class parameters:
    - Automatic                   (default true)
    - Level                       (default 8)
    - MaxLevel                    (default 8)
    - NumberOfCellsPerNode        (default 25)
    - CacheCellBounds             (default true)
    - UseExistingSearchStructure  (default false)
    
    vtkCellLocator does NOT utilize the following parameters:
    - Tolerance
    - RetainCellLists
    
    @sa
    vtkAbstractCellLocator vtkStaticCellLocator vtkCellTreeLocator
    vtkModifiedBSPTree vtkOBBTree
    """
    def BuildLocator(self): # real signature unknown; restored from __doc__
        """
        BuildLocator(self) -> None
        C++: void BuildLocator() override;
        
        Build the locator from the input dataset. This will NOT do
        anything if UseExistingSearchStructure is on.
        """
        pass

    def BuildLocatorIfNeeded(self): # real signature unknown; restored from __doc__
        """
        BuildLocatorIfNeeded(self) -> None
        C++: virtual void BuildLocatorIfNeeded()
        """
        pass

    def FindCell(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindCell(self, x:[float, float, float], tol2:float,
            GenCell:vtkGenericCell, subId:int, pcoords:[float, float,
            float], weights:[float, ...]) -> int
        C++: vtkIdType FindCell(double x[3], double tol2,
            vtkGenericCell *GenCell, int &subId, double pcoords[3],
            double *weights) override;
        FindCell(self, x:[float, float, float]) -> int
        C++: virtual vtkIdType FindCell(double x[3])
        FindCell(self, x:[float, float, float], tol2:float,
            GenCell:vtkGenericCell, pcoords:[float, float, float],
            weights:[float, ...]) -> int
        C++: virtual vtkIdType FindCell(double x[3], double tol2,
            vtkGenericCell *GenCell, double pcoords[3], double *weights)
        
        Find the cell containing a given point. returns -1 if no cell
        found the cell parameters are copied into the supplied variables,
        a cell must be provided to store the information.
        
        For other FindCell signatures, see vtkAbstractCellLocator.
        """
        pass

    def FindCellsAlongLine(self, p1, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindCellsAlongLine(self, p1:(float, float, float), p2:(float,
            float, float), tolerance:float, cellsIds:vtkIdList) -> None
        C++: void FindCellsAlongLine(const double p1[3],
            const double p2[3], double tolerance, vtkIdList *cellsIds)
            override;
        
        Take the passed line segment and intersect it with the data set.
        For each intersection with the bounds of a cell, the cellIds have
        the relevant information added sort by t. If cellIds is nullptr
        pointer, then no information is generated for that list.
        
        Reimplemented from vtkAbstractCellLocator to showcase that it's a
        supported function.
        """
        pass

    def FindCellsWithinBounds(self, bbox, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindCellsWithinBounds(self, bbox:[float, ...], cells:vtkIdList)
            -> None
        C++: void FindCellsWithinBounds(double *bbox, vtkIdList *cells)
            override;
        
        Return a list of unique cell ids inside of a given bounding box.
        The user must provide the vtkIdList to populate.
        """
        pass

    def FindClosestPoint(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindClosestPoint(self, x:(float, float, float),
            closestPoint:[float, float, float], cell:vtkGenericCell,
            cellId:int, subId:int, dist2:float) -> None
        C++: void FindClosestPoint(const double x[3],
            double closestPoint[3], vtkGenericCell *cell,
            vtkIdType &cellId, int &subId, double &dist2) override;
        FindClosestPoint(self, x:(float, float, float),
            closestPoint:[float, float, float], cellId:int, subId:int,
            dist2:float) -> None
        C++: virtual void FindClosestPoint(const double x[3],
            double closestPoint[3], vtkIdType &cellId, int &subId,
            double &dist2)
        
        Return the closest point and the cell which is closest to the
        point x. The closest point is somewhere on a cell, it need not be
        one of the vertices of the cell.
        
        Reimplemented from vtkAbstractCellLocator to showcase that it's a
        supported function.
        
        For other FindClosestPoint signatures, see
        vtkAbstractCellLocator.
        """
        pass

    def FindClosestPointWithinRadius(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindClosestPointWithinRadius(self, x:[float, float, float],
            radius:float, closestPoint:[float, float, float],
            cell:vtkGenericCell, cellId:int, subId:int, dist2:float,
            inside:int) -> int
        C++: vtkIdType FindClosestPointWithinRadius(double x[3],
            double radius, double closestPoint[3], vtkGenericCell *cell,
            vtkIdType &cellId, int &subId, double &dist2, int &inside)
            override;
        FindClosestPointWithinRadius(self, x:[float, float, float],
            radius:float, closestPoint:[float, float, float], cellId:int,
            subId:int, dist2:float) -> int
        C++: virtual vtkIdType FindClosestPointWithinRadius(double x[3],
            double radius, double closestPoint[3], vtkIdType &cellId,
            int &subId, double &dist2)
        FindClosestPointWithinRadius(self, x:[float, float, float],
            radius:float, closestPoint:[float, float, float],
            cell:vtkGenericCell, cellId:int, subId:int, dist2:float)
            -> int
        C++: virtual vtkIdType FindClosestPointWithinRadius(double x[3],
            double radius, double closestPoint[3], vtkGenericCell *cell,
            vtkIdType &cellId, int &subId, double &dist2)
        
        Return the closest point within a specified radius and the cell
        which is closest to the point x. The closest point is somewhere
        on a cell, it need not be one of the vertices of the cell. This
        method returns 1 if a point is found within the specified radius.
        If there are no cells within the specified radius, the method
        returns 0 and the values of closestPoint, cellId, subId, and
        dist2 are undefined. If a closest point is found, inside returns
        the return value of the EvaluatePosition call to the closest
        cell; inside(=1) or outside(=0).
        
        For other FindClosestPointWithinRadius signatures, see
        vtkAbstractCellLocator.
        """
        pass

    def ForceBuildLocator(self): # real signature unknown; restored from __doc__
        """
        ForceBuildLocator(self) -> None
        C++: void ForceBuildLocator() override;
        
        Build the locator from the input dataset (even if
        UseExistingSearchStructure is on).
        
        This function is not pure virtual to maintain backwards
        compatibility.
        """
        pass

    def FreeSearchStructure(self): # real signature unknown; restored from __doc__
        """
        FreeSearchStructure(self) -> None
        C++: void FreeSearchStructure() override;
        
        Satisfy vtkLocator abstract interface.
        """
        pass

    def GenerateRepresentation(self, level, pd): # real signature unknown; restored from __doc__
        """
        GenerateRepresentation(self, level:int, pd:vtkPolyData) -> None
        C++: void GenerateRepresentation(int level, vtkPolyData *pd)
            override;
        
        Method to build a representation at a particular level. Note that
        the method GetLevel() returns the maximum number of levels
        available for the tree. You must provide a vtkPolyData object
        into which to place the data.
        """
        pass

    def GetCells(self, bucket): # real signature unknown; restored from __doc__
        """
        GetCells(self, bucket:int) -> vtkIdList
        C++: virtual vtkIdList *GetCells(int bucket)
        
        Get the cells in a particular bucket.
        """
        pass

    def GetNumberOfBuckets(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfBuckets(self) -> int
        C++: virtual int GetNumberOfBuckets(void)
        
        Return number of buckets available. Ensure that the locator has
        been built before attempting to access buckets (octants).
        """
        return 0

    def GetNumberOfCellsPerBucket(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfCellsPerBucket(self) -> int
        C++: int GetNumberOfCellsPerBucket()
        """
        return 0

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def IntersectWithLine(self, p1, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), tol:float, t:float, x:[float, float, float],
            pcoords:[float, float, float], subId:int, cellId:int,
            cell:vtkGenericCell) -> int
        C++: int IntersectWithLine(const double p1[3], const double p2[3],
             double tol, double &t, double x[3], double pcoords[3],
            int &subId, vtkIdType &cellId, vtkGenericCell *cell) override;
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), tol:float, points:vtkPoints, cellIds:vtkIdList,
             cell:vtkGenericCell) -> int
        C++: int IntersectWithLine(const double p1[3], const double p2[3],
             const double tol, vtkPoints *points, vtkIdList *cellIds,
            vtkGenericCell *cell) override;
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), tol:float, t:float, x:[float, float, float],
            pcoords:[float, float, float], subId:int) -> int
        C++: virtual int IntersectWithLine(const double p1[3],
            const double p2[3], double tol, double &t, double x[3],
            double pcoords[3], int &subId)
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), tol:float, t:float, x:[float, float, float],
            pcoords:[float, float, float], subId:int, cellId:int) -> int
        C++: virtual int IntersectWithLine(const double p1[3],
            const double p2[3], double tol, double &t, double x[3],
            double pcoords[3], int &subId, vtkIdType &cellId)
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), points:vtkPoints, cellIds:vtkIdList) -> int
        C++: virtual int IntersectWithLine(const double p1[3],
            const double p2[3], vtkPoints *points, vtkIdList *cellIds)
        IntersectWithLine(self, p1:(float, float, float), p2:(float,
            float, float), tol:float, points:vtkPoints, cellIds:vtkIdList)
             -> int
        C++: virtual int IntersectWithLine(const double p1[3],
            const double p2[3], const double tol, vtkPoints *points,
            vtkIdList *cellIds)
        
        Return intersection point (if any) AND the ...
         [Truncated]
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkCellLocator
        C++: vtkCellLocator *NewInstance()
        """
        return vtkCellLocator

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkCellLocator
        C++: static vtkCellLocator *SafeDownCast(vtkObjectBase *o)
        """
        return vtkCellLocator

    def SetNumberOfCellsPerBucket(self, N): # real signature unknown; restored from __doc__
        """
        SetNumberOfCellsPerBucket(self, N:int) -> None
        C++: void SetNumberOfCellsPerBucket(int N)
        
        Specify the average number of cells in each octant.
        """
        pass

    def ShallowCopy(self, locator): # real signature unknown; restored from __doc__
        """
        ShallowCopy(self, locator:vtkAbstractCellLocator) -> None
        C++: void ShallowCopy(vtkAbstractCellLocator *locator) override;
        
        Shallow copy of a vtkCellLocator.
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is "mappingproxy({'__vtkname__': 'vtkCellLocator', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'SetNumberOfCellsPerBucket': <method 'SetNumberOfCellsPerBucket' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GetNumberOfCellsPerBucket': <method 'GetNumberOfCellsPerBucket' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'IntersectWithLine': <method 'IntersectWithLine' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FindClosestPoint': <method 'FindClosestPoint' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FindClosestPointWithinRadius': <method 'FindClosestPointWithinRadius' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FindCell': <method 'FindCell' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FindCellsWithinBounds': <method 'FindCellsWithinBounds' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FindCellsAlongLine': <method 'FindCellsAlongLine' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'FreeSearchStructure': <method 'FreeSearchStructure' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'BuildLocator': <method 'BuildLocator' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'ForceBuildLocator': <method 'ForceBuildLocator' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GenerateRepresentation': <method 'GenerateRepresentation' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'BuildLocatorIfNeeded': <method 'BuildLocatorIfNeeded' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GetCells': <method 'GetCells' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'GetNumberOfBuckets': <method 'GetNumberOfBuckets' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, 'ShallowCopy': <method 'ShallowCopy' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF81D6158E0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkCommonDataModel.vtkCellLocator' objects>, '__doc__': 'vtkCellLocator - octree-based spatial search object to quickly locate\\ncells\\n\\nSuperclass: vtkAbstractCellLocator\\n\\nvtkCellLocator is a spatial search object to quickly locate cells in\\n3D. vtkCellLocator uses a uniform-level octree subdivision, where\\neach octant (an octant is also referred to as a bucket) carries an\\nindication of whether it is empty or not, and each leaf octant\\ncarries a list of the cells inside of it. (An octant is not empty if\\nit has one or more cells inside of it.)  Typical operations are\\nintersection with a line to return candidate cells, or intersection\\nwith another vtkCellLocator to return candidate cells.\\n\\n@warning\\nvtkCellLocator utilizes the following parent class parameters:\\n- Automatic                   (default true)\\n- Level                       (default 8)\\n- MaxLevel                    (default 8)\\n- NumberOfCellsPerNode        (default 25)\\n- CacheCellBounds             (default true)\\n- UseExistingSearchStructure  (default false)\\n\\nvtkCellLocator does NOT utilize the following parameters:\\n- Tolerance\\n- RetainCellLists\\n\\n@sa\\nvtkAbstractCellLocator vtkStaticCellLocator vtkCellTreeLocator\\nvtkModifiedBSPTree vtkOBBTree\\n\\n'})"
    __vtkname__ = 'vtkCellLocator'


