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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkFindCellStrategy(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkFindCellStrategy - helper class to manage the
    vtkPointSet::FindCell() METHOD
    
    Superclass: vtkObject
    
    vtkFindCellStrategy is a helper class to manage the use of locators
    for locating cells containing a query point x[3], the so-called
    FindCell() method. The use of vtkDataSet::FindCell() is a common
    operation in applications such as streamline generation and probing.
    However, in some dataset types FindCell() can be implemented very
    simply (e.g., vtkImageData) while in other datasets it is a complex
    operation requiring supplemental objects like locators to perform
    efficiently. In particular, vtkPointSet and its subclasses (like
    vtkUnstructuredGrid) require complex strategies to efficiently
    implement the FindCell() operation. Subclasses of the abstract
    vtkFindCellStrategy implement several of these strategies.
    
    The are two key methods to this class and subclasses. The
    Initialize() method negotiates with an input dataset to define the
    locator to use: either a locator associated with the inout dataset,
    or possibly an alternative locator defined by the strategy
    (subclasses do this). The second important method, FindCell() mimics
    vtkDataSet::FindCell() and can be used in place of it.
    
    @sa
    vtkPointSet vtkPolyData vtkStructuredGrid vtkUnstructuredGrid
    """
    def FindCell(self, p_float=..., p_float=..., p_float=..., *args, **kwargs):
        """
        V.FindCell([float, float, float], vtkCell, vtkGenericCell, int,
            float, int, [float, float, float], [float, ...]) -> int
        C++: virtual vtkIdType FindCell(double x[3], vtkCell *cell,
            vtkGenericCell *gencell, vtkIdType cellId, double tol2,
            int &subId, double pcoords[3], double *weights)
        
        Virtual method for finding a cell. Subclasses must satisfy this
        API. This method is of the same signature as
        vtkDataSet::FindCell().
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methdos for type information and printing.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methdos for type information and printing.
        """
        ...
    
    def Initialize(self, vtkPointSet):
        """
        V.Initialize(vtkPointSet) -> int
        C++: virtual int Initialize(vtkPointSet *ps)
        
        All subclasses of this class must provide an initialize method. 
        This method performs handshaking and setup between the
        vtkPointSet dataset and associated locator(s). A return value==0
        means the initialization process failed.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methdos for type information and printing.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methdos for type information and printing.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkFindCellStrategy
        C++: vtkFindCellStrategy *NewInstance()
        
        Standard methdos for type information and printing.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkFindCellStrategy
        C++: static vtkFindCellStrategy *SafeDownCast(vtkObjectBase *o)
        
        Standard methdos for type information and printing.
        """
        ...
    
    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__ = ...


