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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkConnectedPointsFilter(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkConnectedPointsFilter - extract / segment points based on
    geometric connectivity
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkConnectedPointsFilter is a filter that extracts and/or segments
    points from a point cloud based on geometric distance measures (e.g.,
    proximity, normal alignments, etc.) and optional measures such as
    scalar range. The default operation is to segment the points into
    "connected" regions where the connection is determined by an
    appropriate distance measure. Each region is given a region id.
    Optionally, the filter can output the largest connected region of
    points; a particular region (via id specification); those regions
    that are seeded using a list of input point ids; or the region of
    points closest to a specified position.
    
    The key parameter of this filter is the radius defining a sphere
    around each point which defines a local neighborhood: any other
    points in the local neighborhood are assumed connected to the point.
    Note that the radius is defined in absolute terms.
    
    Other parameters are used to further qualify what it means to be a
    neighboring point. For example, scalar range and/or point normals can
    be used to further constrain the neighborhood. Also the extraction
    mode defines how the filter operates. By default, all regions are
    extracted but it is possible to extract particular regions; the
    region closest to a seed point; seeded regions; or the largest region
    found while processing. By default, all regions are extracted.
    
    On output, all points are labeled with a region number. However note
    that the number of input and output points may not be the same: if
    not extracting all regions then the output size may be less than the
    input size.
    
    @sa
    vtkPolyDataConnectivityFilter vtkConnectivityFilter
    """
    def AddSeed(self, p_int):
        """
        V.AddSeed(int)
        C++: void AddSeed(vtkIdType id)
        
        Add a non-negative point seed id. Note: ids are 0-offset.
        """
        ...
    
    def AddSpecifiedRegion(self, p_int):
        """
        V.AddSpecifiedRegion(int)
        C++: void AddSpecifiedRegion(vtkIdType id)
        
        Add a non-negative region id to extract. Note: ids are 0-offset.
        """
        ...
    
    def AlignedNormalsOff(self):
        """
        V.AlignedNormalsOff()
        C++: virtual void AlignedNormalsOff()
        
        Turn on/off connectivity based on point normal consistency. If
        on, and point normals are defined, points are connected only if
        they satisfy other criterion (e.g., geometric proximity, scalar
        connectivity, etc.) AND the angle between normals is no greater
        than NormalAngle;
        """
        ...
    
    def AlignedNormalsOn(self):
        """
        V.AlignedNormalsOn()
        C++: virtual void AlignedNormalsOn()
        
        Turn on/off connectivity based on point normal consistency. If
        on, and point normals are defined, points are connected only if
        they satisfy other criterion (e.g., geometric proximity, scalar
        connectivity, etc.) AND the angle between normals is no greater
        than NormalAngle;
        """
        ...
    
    def DeleteSeed(self, p_int):
        """
        V.DeleteSeed(int)
        C++: void DeleteSeed(vtkIdType id)
        
        Delete a point seed id. Note: ids are 0-offset.
        """
        ...
    
    def DeleteSpecifiedRegion(self, p_int):
        """
        V.DeleteSpecifiedRegion(int)
        C++: void DeleteSpecifiedRegion(vtkIdType id)
        
        Delete a region id to extract. Note: ids are 0-offset.
        """
        ...
    
    def GetAlignedNormals(self):
        """
        V.GetAlignedNormals() -> int
        C++: virtual int GetAlignedNormals()
        
        Turn on/off connectivity based on point normal consistency. If
        on, and point normals are defined, points are connected only if
        they satisfy other criterion (e.g., geometric proximity, scalar
        connectivity, etc.) AND the angle between normals is no greater
        than NormalAngle;
        """
        ...
    
    def GetClosestPoint(self):
        """
        V.GetClosestPoint() -> (float, float, float)
        C++: virtual double *GetClosestPoint()
        
        Use to specify x-y-z point coordinates when extracting the region
        closest to a specified point.
        """
        ...
    
    def GetExtractionMode(self):
        """
        V.GetExtractionMode() -> int
        C++: virtual int GetExtractionMode()
        
        Control the extraction of connected regions.
        """
        ...
    
    def GetExtractionModeAsString(self):
        """
        V.GetExtractionModeAsString() -> string
        C++: const char *GetExtractionModeAsString()
        
        Control the extraction of connected regions.
        """
        ...
    
    def GetExtractionModeMaxValue(self):
        """
        V.GetExtractionModeMaxValue() -> int
        C++: virtual int GetExtractionModeMaxValue()
        
        Control the extraction of connected regions.
        """
        ...
    
    def GetExtractionModeMinValue(self):
        """
        V.GetExtractionModeMinValue() -> int
        C++: virtual int GetExtractionModeMinValue()
        
        Control the extraction of connected regions.
        """
        ...
    
    def GetLocator(self):
        """
        V.GetLocator() -> vtkAbstractPointLocator
        C++: virtual vtkAbstractPointLocator *GetLocator()
        
        Specify a point locator. By default a vtkStaticPointLocator is
        used. The locator performs efficient searches to locate points
        around a sample point.
        """
        ...
    
    def GetNormalAngle(self):
        """
        V.GetNormalAngle() -> float
        C++: virtual double GetNormalAngle()
        
        Specify a threshold for normal angles. If AlignedNormalsOn is
        set, then points are connected if the angle between their normals
        is within this angle threshold (expressed in degress).
        """
        ...
    
    def GetNormalAngleMaxValue(self):
        """
        V.GetNormalAngleMaxValue() -> float
        C++: virtual double GetNormalAngleMaxValue()
        
        Specify a threshold for normal angles. If AlignedNormalsOn is
        set, then points are connected if the angle between their normals
        is within this angle threshold (expressed in degress).
        """
        ...
    
    def GetNormalAngleMinValue(self):
        """
        V.GetNormalAngleMinValue() -> float
        C++: virtual double GetNormalAngleMinValue()
        
        Specify a threshold for normal angles. If AlignedNormalsOn is
        set, then points are connected if the angle between their normals
        is within this angle threshold (expressed in degress).
        """
        ...
    
    def GetNumberOfExtractedRegions(self):
        """
        V.GetNumberOfExtractedRegions() -> int
        C++: int GetNumberOfExtractedRegions()
        
        Obtain the number of connected regions. The return value is valid
        only after the filter has executed.
        """
        ...
    
    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 GetRadius(self):
        """
        V.GetRadius() -> float
        C++: virtual double GetRadius()
        
        Set / get the radius variable specifying a local sphere used to
        define local point neighborhood.
        """
        ...
    
    def GetRadiusMaxValue(self):
        """
        V.GetRadiusMaxValue() -> float
        C++: virtual double GetRadiusMaxValue()
        
        Set / get the radius variable specifying a local sphere used to
        define local point neighborhood.
        """
        ...
    
    def GetRadiusMinValue(self):
        """
        V.GetRadiusMinValue() -> float
        C++: virtual double GetRadiusMinValue()
        
        Set / get the radius variable specifying a local sphere used to
        define local point neighborhood.
        """
        ...
    
    def GetScalarConnectivity(self):
        """
        V.GetScalarConnectivity() -> int
        C++: virtual int GetScalarConnectivity()
        
        Turn on/off connectivity based on scalar value. If on, points are
        connected only if they satisfy the various geometric criterion
        AND one of the points scalar values falls in the scalar range
        specified.
        """
        ...
    
    def GetScalarRange(self):
        """
        V.GetScalarRange() -> (float, float)
        C++: virtual double *GetScalarRange()
        
        Set the scalar range to use to extract points based on scalar
        connectivity.
        """
        ...
    
    def InitializeSeedList(self):
        """
        V.InitializeSeedList()
        C++: void InitializeSeedList()
        
        Initialize list of point ids ids used to seed regions.
        """
        ...
    
    def InitializeSpecifiedRegionList(self):
        """
        V.InitializeSpecifiedRegionList()
        C++: void InitializeSpecifiedRegionList()
        
        Initialize list of region ids to extract.
        """
        ...
    
    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() -> vtkConnectedPointsFilter
        C++: vtkConnectedPointsFilter *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkConnectedPointsFilter
        C++: static vtkConnectedPointsFilter *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def ScalarConnectivityOff(self):
        """
        V.ScalarConnectivityOff()
        C++: virtual void ScalarConnectivityOff()
        
        Turn on/off connectivity based on scalar value. If on, points are
        connected only if they satisfy the various geometric criterion
        AND one of the points scalar values falls in the scalar range
        specified.
        """
        ...
    
    def ScalarConnectivityOn(self):
        """
        V.ScalarConnectivityOn()
        C++: virtual void ScalarConnectivityOn()
        
        Turn on/off connectivity based on scalar value. If on, points are
        connected only if they satisfy the various geometric criterion
        AND one of the points scalar values falls in the scalar range
        specified.
        """
        ...
    
    def SetAlignedNormals(self, p_int):
        """
        V.SetAlignedNormals(int)
        C++: virtual void SetAlignedNormals(int _arg)
        
        Turn on/off connectivity based on point normal consistency. If
        on, and point normals are defined, points are connected only if
        they satisfy other criterion (e.g., geometric proximity, scalar
        connectivity, etc.) AND the angle between normals is no greater
        than NormalAngle;
        """
        ...
    
    def SetClosestPoint(self, p_float, p_float_1, p_float_2):
        """
        V.SetClosestPoint(float, float, float)
        C++: virtual void SetClosestPoint(double _arg1, double _arg2,
            double _arg3)
        V.SetClosestPoint((float, float, float))
        C++: virtual void SetClosestPoint(const double _arg[3])
        
        Use to specify x-y-z point coordinates when extracting the region
        closest to a specified point.
        """
        ...
    
    def SetExtractionMode(self, p_int):
        """
        V.SetExtractionMode(int)
        C++: virtual void SetExtractionMode(int _arg)
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetExtractionModeToAllRegions(self):
        """
        V.SetExtractionModeToAllRegions()
        C++: void SetExtractionModeToAllRegions()
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetExtractionModeToClosestPointRegion(self):
        """
        V.SetExtractionModeToClosestPointRegion()
        C++: void SetExtractionModeToClosestPointRegion()
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetExtractionModeToLargestRegion(self):
        """
        V.SetExtractionModeToLargestRegion()
        C++: void SetExtractionModeToLargestRegion()
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetExtractionModeToPointSeededRegions(self):
        """
        V.SetExtractionModeToPointSeededRegions()
        C++: void SetExtractionModeToPointSeededRegions()
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetExtractionModeToSpecifiedRegions(self):
        """
        V.SetExtractionModeToSpecifiedRegions()
        C++: void SetExtractionModeToSpecifiedRegions()
        
        Control the extraction of connected regions.
        """
        ...
    
    def SetLocator(self, vtkAbstractPointLocator):
        """
        V.SetLocator(vtkAbstractPointLocator)
        C++: void SetLocator(vtkAbstractPointLocator *locator)
        
        Specify a point locator. By default a vtkStaticPointLocator is
        used. The locator performs efficient searches to locate points
        around a sample point.
        """
        ...
    
    def SetNormalAngle(self, p_float):
        """
        V.SetNormalAngle(float)
        C++: virtual void SetNormalAngle(double _arg)
        
        Specify a threshold for normal angles. If AlignedNormalsOn is
        set, then points are connected if the angle between their normals
        is within this angle threshold (expressed in degress).
        """
        ...
    
    def SetRadius(self, p_float):
        """
        V.SetRadius(float)
        C++: virtual void SetRadius(double _arg)
        
        Set / get the radius variable specifying a local sphere used to
        define local point neighborhood.
        """
        ...
    
    def SetScalarConnectivity(self, p_int):
        """
        V.SetScalarConnectivity(int)
        C++: virtual void SetScalarConnectivity(int _arg)
        
        Turn on/off connectivity based on scalar value. If on, points are
        connected only if they satisfy the various geometric criterion
        AND one of the points scalar values falls in the scalar range
        specified.
        """
        ...
    
    def SetScalarRange(self, p_float, p_float_1):
        """
        V.SetScalarRange(float, float)
        C++: virtual void SetScalarRange(double _arg1, double _arg2)
        V.SetScalarRange((float, float))
        C++: void SetScalarRange(const double _arg[2])
        
        Set the scalar range to use to extract points based on scalar
        connectivity.
        """
        ...
    
    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__ = ...


