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

from .vtkPointCloudFilter import vtkPointCloudFilter

class vtkExtractEnclosedPoints(vtkPointCloudFilter):
    """
    vtkExtractEnclosedPoints - extract points inside of a closed
    polygonal surface
    
    Superclass: vtkPointCloudFilter
    
    vtkExtractEnclosedPoints is a filter that evaluates all the input
    points to determine whether they are contained within an enclosing
    surface. Those within the surface are sent to the output. The
    enclosing surface is specified through a second input to the filter.
    
    Note: as a derived class of vtkPointCloudFilter, additional methods
    are available for generating an in/out mask, and also extracting
    points outside of the enclosing surface.
    
    @warning
    The filter assumes that the surface is closed and manifold. A boolean
    flag can be set to force the filter to first check whether this is
    true. If false, all points will be marked outside. Note that if this
    check is not performed and the surface is not closed, the results are
    undefined.
    
    @warning
    This class has been threaded with vtkSMPTools. Using TBB or other
    non-sequential type (set in the CMake variable
    VTK_SMP_IMPLEMENTATION_TYPE) may improve performance significantly.
    
    @warning
    The filter vtkSelectEnclosedPoints marks points as to in/out of the
    enclosing surface, and operates on any dataset type, producing an
    output dataset of the same type as the input. Then, thresholding and
    masking filters can be used to extract parts of the dataset. This
    filter (vtkExtractEnclosedPoints) is meant to operate on point clouds
    represented by vtkPolyData, and produces vtkPolyData on output, so it
    is more efficient for point processing. Note that this filter
    delegates many of its methods to vtkSelectEnclosedPoints.
    
    @sa
    vtkSelectEnclosedPoints vtkExtractPoints
    """
    def CheckSurfaceOff(self):
        """
        V.CheckSurfaceOff()
        C++: virtual void CheckSurfaceOff()
        
        Specify whether to check the surface for closure. If on, then the
        algorithm first checks to see if the surface is closed and
        manifold.
        """
        ...
    
    def CheckSurfaceOn(self):
        """
        V.CheckSurfaceOn()
        C++: virtual void CheckSurfaceOn()
        
        Specify whether to check the surface for closure. If on, then the
        algorithm first checks to see if the surface is closed and
        manifold.
        """
        ...
    
    def GetCheckSurface(self):
        """
        V.GetCheckSurface() -> int
        C++: virtual vtkTypeBool GetCheckSurface()
        
        Specify whether to check the surface for closure. If on, then the
        algorithm first checks to see if the surface is closed and
        manifold.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def GetSurface(self):
        """
        V.GetSurface() -> vtkPolyData
        C++: vtkPolyData *GetSurface()
        V.GetSurface(vtkInformationVector) -> vtkPolyData
        C++: vtkPolyData *GetSurface(vtkInformationVector *sourceInfo)
        
        Return a pointer to the enclosing surface.
        """
        ...
    
    def GetTolerance(self):
        """
        V.GetTolerance() -> float
        C++: virtual double GetTolerance()
        
        Specify the tolerance on the intersection. The tolerance is
        expressed as a fraction of the diagonal of the bounding box of
        the enclosing surface.
        """
        ...
    
    def GetToleranceMaxValue(self):
        """
        V.GetToleranceMaxValue() -> float
        C++: virtual double GetToleranceMaxValue()
        
        Specify the tolerance on the intersection. The tolerance is
        expressed as a fraction of the diagonal of the bounding box of
        the enclosing surface.
        """
        ...
    
    def GetToleranceMinValue(self):
        """
        V.GetToleranceMinValue() -> float
        C++: virtual double GetToleranceMinValue()
        
        Specify the tolerance on the intersection. The tolerance is
        expressed as a fraction of the diagonal of the bounding box of
        the enclosing surface.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkExtractEnclosedPoints
        C++: vtkExtractEnclosedPoints *NewInstance()
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkExtractEnclosedPoints
        C++: static vtkExtractEnclosedPoints *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for instantiation, type information, and
        printing.
        """
        ...
    
    def SetCheckSurface(self, p_int):
        """
        V.SetCheckSurface(int)
        C++: virtual void SetCheckSurface(vtkTypeBool _arg)
        
        Specify whether to check the surface for closure. If on, then the
        algorithm first checks to see if the surface is closed and
        manifold.
        """
        ...
    
    def SetSurfaceConnection(self, vtkAlgorithmOutput):
        """
        V.SetSurfaceConnection(vtkAlgorithmOutput)
        C++: void SetSurfaceConnection(vtkAlgorithmOutput *algOutput)
        
        Set the surface to be used to test for containment. Two methods
        are provided: one directly for vtkPolyData, and one for the
        output of a filter.
        """
        ...
    
    def SetSurfaceData(self, vtkPolyData):
        """
        V.SetSurfaceData(vtkPolyData)
        C++: void SetSurfaceData(vtkPolyData *pd)
        
        Set the surface to be used to test for containment. Two methods
        are provided: one directly for vtkPolyData, and one for the
        output of a filter.
        """
        ...
    
    def SetTolerance(self, p_float):
        """
        V.SetTolerance(float)
        C++: virtual void SetTolerance(double _arg)
        
        Specify the tolerance on the intersection. The tolerance is
        expressed as a fraction of the diagonal of the bounding box of
        the enclosing surface.
        """
        ...
    
    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__ = ...


