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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkThreshold(__vtkmodules_vtkCommonExecutionModel.vtkUnstructuredGridAlgorithm):
    """
    vtkThreshold - extracts cells where scalar value in cell satisfies
    threshold criterion
    
    Superclass: vtkUnstructuredGridAlgorithm
    
    vtkThreshold is a filter that extracts cells from any dataset type
    that satisfy a threshold criterion. A cell satisfies the criterion if
    the scalar value of (every or any) point satisfies the criterion. The
    criterion can take three forms: 1) greater than a particular value;
    2) less than a particular value; or 3) between two values. The output
    of this filter is an unstructured grid.
    
    Note that scalar values are available from the point and cell
    attribute data.  By default, point data is used to obtain scalars,
    but you can control this behavior. See the AttributeMode ivar below.
    
    By default only the first scalar value is used in the decision. Use
    the ComponentMode and SelectedComponent ivars to control this
    behavior.
    
    @sa
    vtkThresholdPoints vtkThresholdTextureCoords
    """
    def AllScalarsOff(self):
        """
        V.AllScalarsOff()
        C++: virtual void AllScalarsOff()
        
        If using scalars from point data, all scalars for all points in a
        cell must satisfy the threshold criterion if AllScalars is set.
        Otherwise, just a single scalar value satisfying the threshold
        criterion enables will extract the cell.
        """
        ...
    
    def AllScalarsOn(self):
        """
        V.AllScalarsOn()
        C++: virtual void AllScalarsOn()
        
        If using scalars from point data, all scalars for all points in a
        cell must satisfy the threshold criterion if AllScalars is set.
        Otherwise, just a single scalar value satisfying the threshold
        criterion enables will extract the cell.
        """
        ...
    
    def Between(self, p_float):
        """
        V.Between(float) -> int
        C++: int Between(double s)
        
        Methods used for thresholding. vtkThreshold::Lower returns true
        if s is lower than threshold, vtkThreshold::Upper returns true if
        s is upper than treshold, and vtkThreshold::Between returns true
        if s is between two threshold.
        
        @warning vtkThreshold::Lower and vtkThreshold::Upper use
            different thresholds which are set
        using the methods vtkThreshold::ThresholdByLower and
        vtkThreshold::ThresholdByUpper respectively.
        vtkThreshold::ThresholdBetween sets both thresholds. Do not use
        those methods without priorly setting the corresponding
        threshold.
        
        ote They are not protected member for inheritance purposes. The
        addresses of those methods is stored in one of this class
        attributes to figure out which version of the threshold to apply,
        which are inaccessible if protected.
        """
        ...
    
    def GetAllScalars(self):
        """
        V.GetAllScalars() -> int
        C++: virtual vtkTypeBool GetAllScalars()
        
        If using scalars from point data, all scalars for all points in a
        cell must satisfy the threshold criterion if AllScalars is set.
        Otherwise, just a single scalar value satisfying the threshold
        criterion enables will extract the cell.
        """
        ...
    
    def GetAttributeMode(self):
        """
        V.GetAttributeMode() -> int
        C++: virtual int GetAttributeMode()
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def GetAttributeModeAsString(self):
        """
        V.GetAttributeModeAsString() -> string
        C++: const char *GetAttributeModeAsString()
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def GetComponentMode(self):
        """
        V.GetComponentMode() -> int
        C++: virtual int GetComponentMode()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def GetComponentModeAsString(self):
        """
        V.GetComponentModeAsString() -> string
        C++: const char *GetComponentModeAsString()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def GetComponentModeMaxValue(self):
        """
        V.GetComponentModeMaxValue() -> int
        C++: virtual int GetComponentModeMaxValue()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def GetComponentModeMinValue(self):
        """
        V.GetComponentModeMinValue() -> int
        C++: virtual int GetComponentModeMinValue()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def GetInvert(self):
        """
        V.GetInvert() -> bool
        C++: virtual bool GetInvert()
        
        Invert the threshold results. That is, cells that would have been
        in the output with this option off are excluded, while cells that
        would have been excluded from the output are included.
        """
        ...
    
    def GetLowerThreshold(self):
        """
        V.GetLowerThreshold() -> float
        C++: virtual double GetLowerThreshold()
        
        Get the Upper and Lower thresholds.
        """
        ...
    
    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 GetOutputPointsPrecision(self):
        """
        V.GetOutputPointsPrecision() -> int
        C++: int GetOutputPointsPrecision()
        
        Set/get the desired precision for the output types. See the
        documentation for the vtkAlgorithm::DesiredOutputPrecision enum
        for an explanation of the available precision settings.
        """
        ...
    
    def GetPointsDataType(self):
        """
        V.GetPointsDataType() -> int
        C++: int GetPointsDataType()
        
        Set the data type of the output points (See the data types
        defined in vtkType.h). The default data type is float.
        
        * These methods are deprecated. Please use the
          SetOutputPointsPrecision()
        * and GetOutputPointsPrecision() methods instead.
        """
        ...
    
    def GetSelectedComponent(self):
        """
        V.GetSelectedComponent() -> int
        C++: virtual int GetSelectedComponent()
        
        When the component mode is UseSelected, this ivar indicated the
        selected component. The default value is 0.
        """
        ...
    
    def GetSelectedComponentMaxValue(self):
        """
        V.GetSelectedComponentMaxValue() -> int
        C++: virtual int GetSelectedComponentMaxValue()
        
        When the component mode is UseSelected, this ivar indicated the
        selected component. The default value is 0.
        """
        ...
    
    def GetSelectedComponentMinValue(self):
        """
        V.GetSelectedComponentMinValue() -> int
        C++: virtual int GetSelectedComponentMinValue()
        
        When the component mode is UseSelected, this ivar indicated the
        selected component. The default value is 0.
        """
        ...
    
    def GetUpperThreshold(self):
        """
        V.GetUpperThreshold() -> float
        C++: virtual double GetUpperThreshold()
        
        Get the Upper and Lower thresholds.
        """
        ...
    
    def GetUseContinuousCellRange(self):
        """
        V.GetUseContinuousCellRange() -> int
        C++: virtual vtkTypeBool GetUseContinuousCellRange()
        
        If this is on (default is off), we will use the continuous
        interval [minimum cell scalar, maxmimum cell scalar] to intersect
        the threshold bound , rather than the set of discrete scalar
        values from the vertices
        *WARNING*: For higher order cells, the scalar range of the cell
            is not the same as the vertex scalar interval used here, so
            the result will not be accurate.
        """
        ...
    
    def InvertOff(self):
        """
        V.InvertOff()
        C++: virtual void InvertOff()
        
        Invert the threshold results. That is, cells that would have been
        in the output with this option off are excluded, while cells that
        would have been excluded from the output are included.
        """
        ...
    
    def InvertOn(self):
        """
        V.InvertOn()
        C++: virtual void InvertOn()
        
        Invert the threshold results. That is, cells that would have been
        in the output with this option off are excluded, while cells that
        would have been excluded from the output are included.
        """
        ...
    
    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 Lower(self, p_float):
        """
        V.Lower(float) -> int
        C++: int Lower(double s)
        
        Methods used for thresholding. vtkThreshold::Lower returns true
        if s is lower than threshold, vtkThreshold::Upper returns true if
        s is upper than treshold, and vtkThreshold::Between returns true
        if s is between two threshold.
        
        @warning vtkThreshold::Lower and vtkThreshold::Upper use
            different thresholds which are set
        using the methods vtkThreshold::ThresholdByLower and
        vtkThreshold::ThresholdByUpper respectively.
        vtkThreshold::ThresholdBetween sets both thresholds. Do not use
        those methods without priorly setting the corresponding
        threshold.
        
        ote They are not protected member for inheritance purposes. The
        addresses of those methods is stored in one of this class
        attributes to figure out which version of the threshold to apply,
        which are inaccessible if protected.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkThreshold
        C++: vtkThreshold *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkThreshold
        C++: static vtkThreshold *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAllScalars(self, p_int):
        """
        V.SetAllScalars(int)
        C++: virtual void SetAllScalars(vtkTypeBool _arg)
        
        If using scalars from point data, all scalars for all points in a
        cell must satisfy the threshold criterion if AllScalars is set.
        Otherwise, just a single scalar value satisfying the threshold
        criterion enables will extract the cell.
        """
        ...
    
    def SetAttributeMode(self, p_int):
        """
        V.SetAttributeMode(int)
        C++: virtual void SetAttributeMode(int _arg)
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def SetAttributeModeToDefault(self):
        """
        V.SetAttributeModeToDefault()
        C++: void SetAttributeModeToDefault()
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def SetAttributeModeToUseCellData(self):
        """
        V.SetAttributeModeToUseCellData()
        C++: void SetAttributeModeToUseCellData()
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def SetAttributeModeToUsePointData(self):
        """
        V.SetAttributeModeToUsePointData()
        C++: void SetAttributeModeToUsePointData()
        
        Control how the filter works with scalar point data and cell
        attribute data.  By default (AttributeModeToDefault), the filter
        will use point data, and if no point data is available, then cell
        data is used. Alternatively you can explicitly set the filter to
        use point data (AttributeModeToUsePointData) or cell data
        (AttributeModeToUseCellData).
        """
        ...
    
    def SetComponentMode(self, p_int):
        """
        V.SetComponentMode(int)
        C++: virtual void SetComponentMode(int _arg)
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def SetComponentModeToUseAll(self):
        """
        V.SetComponentModeToUseAll()
        C++: void SetComponentModeToUseAll()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def SetComponentModeToUseAny(self):
        """
        V.SetComponentModeToUseAny()
        C++: void SetComponentModeToUseAny()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def SetComponentModeToUseSelected(self):
        """
        V.SetComponentModeToUseSelected()
        C++: void SetComponentModeToUseSelected()
        
        Control how the decision of in / out is made with multi-component
        data. The choices are to use the selected component (specified in
        the SelectedComponent ivar), or to look at all components. When
        looking at all components, the evaluation can pass if all the
        components satisfy the rule (UseAll) or if any satisfy is
        (UseAny). The default value is UseSelected.
        """
        ...
    
    def SetInvert(self, bool):
        """
        V.SetInvert(bool)
        C++: virtual void SetInvert(bool _arg)
        
        Invert the threshold results. That is, cells that would have been
        in the output with this option off are excluded, while cells that
        would have been excluded from the output are included.
        """
        ...
    
    def SetOutputPointsPrecision(self, p_int):
        """
        V.SetOutputPointsPrecision(int)
        C++: void SetOutputPointsPrecision(int precision)
        
        Set/get the desired precision for the output types. See the
        documentation for the vtkAlgorithm::DesiredOutputPrecision enum
        for an explanation of the available precision settings.
        """
        ...
    
    def SetPointsDataType(self, p_int):
        """
        V.SetPointsDataType(int)
        C++: void SetPointsDataType(int type)
        
        Set the data type of the output points (See the data types
        defined in vtkType.h). The default data type is float.
        
        * These methods are deprecated. Please use the
          SetOutputPointsPrecision()
        * and GetOutputPointsPrecision() methods instead.
        """
        ...
    
    def SetPointsDataTypeToDouble(self):
        """
        V.SetPointsDataTypeToDouble()
        C++: void SetPointsDataTypeToDouble()
        
        Set the data type of the output points (See the data types
        defined in vtkType.h). The default data type is float.
        
        * These methods are deprecated. Please use the
          SetOutputPointsPrecision()
        * and GetOutputPointsPrecision() methods instead.
        """
        ...
    
    def SetPointsDataTypeToFloat(self):
        """
        V.SetPointsDataTypeToFloat()
        C++: void SetPointsDataTypeToFloat()
        
        Set the data type of the output points (See the data types
        defined in vtkType.h). The default data type is float.
        
        * These methods are deprecated. Please use the
          SetOutputPointsPrecision()
        * and GetOutputPointsPrecision() methods instead.
        """
        ...
    
    def SetSelectedComponent(self, p_int):
        """
        V.SetSelectedComponent(int)
        C++: virtual void SetSelectedComponent(int _arg)
        
        When the component mode is UseSelected, this ivar indicated the
        selected component. The default value is 0.
        """
        ...
    
    def SetUseContinuousCellRange(self, p_int):
        """
        V.SetUseContinuousCellRange(int)
        C++: virtual void SetUseContinuousCellRange(vtkTypeBool _arg)
        
        If this is on (default is off), we will use the continuous
        interval [minimum cell scalar, maxmimum cell scalar] to intersect
        the threshold bound , rather than the set of discrete scalar
        values from the vertices
        *WARNING*: For higher order cells, the scalar range of the cell
            is not the same as the vertex scalar interval used here, so
            the result will not be accurate.
        """
        ...
    
    def ThresholdBetween(self, p_float, p_float_1):
        """
        V.ThresholdBetween(float, float)
        C++: void ThresholdBetween(double lower, double upper)
        
        Criterion is cells whose scalars are between lower and upper
        thresholds (inclusive of the end values).
        """
        ...
    
    def ThresholdByLower(self, p_float):
        """
        V.ThresholdByLower(float)
        C++: void ThresholdByLower(double lower)
        
        Criterion is cells whose scalars are less or equal to lower
        threshold.
        """
        ...
    
    def ThresholdByUpper(self, p_float):
        """
        V.ThresholdByUpper(float)
        C++: void ThresholdByUpper(double upper)
        
        Criterion is cells whose scalars are greater or equal to upper
        threshold.
        """
        ...
    
    def Upper(self, p_float):
        """
        V.Upper(float) -> int
        C++: int Upper(double s)
        
        Methods used for thresholding. vtkThreshold::Lower returns true
        if s is lower than threshold, vtkThreshold::Upper returns true if
        s is upper than treshold, and vtkThreshold::Between returns true
        if s is between two threshold.
        
        @warning vtkThreshold::Lower and vtkThreshold::Upper use
            different thresholds which are set
        using the methods vtkThreshold::ThresholdByLower and
        vtkThreshold::ThresholdByUpper respectively.
        vtkThreshold::ThresholdBetween sets both thresholds. Do not use
        those methods without priorly setting the corresponding
        threshold.
        
        ote They are not protected member for inheritance purposes. The
        addresses of those methods is stored in one of this class
        attributes to figure out which version of the threshold to apply,
        which are inaccessible if protected.
        """
        ...
    
    def UseContinuousCellRangeOff(self):
        """
        V.UseContinuousCellRangeOff()
        C++: virtual void UseContinuousCellRangeOff()
        
        If this is on (default is off), we will use the continuous
        interval [minimum cell scalar, maxmimum cell scalar] to intersect
        the threshold bound , rather than the set of discrete scalar
        values from the vertices
        *WARNING*: For higher order cells, the scalar range of the cell
            is not the same as the vertex scalar interval used here, so
            the result will not be accurate.
        """
        ...
    
    def UseContinuousCellRangeOn(self):
        """
        V.UseContinuousCellRangeOn()
        C++: virtual void UseContinuousCellRangeOn()
        
        If this is on (default is off), we will use the continuous
        interval [minimum cell scalar, maxmimum cell scalar] to intersect
        the threshold bound , rather than the set of discrete scalar
        values from the vertices
        *WARNING*: For higher order cells, the scalar range of the cell
            is not the same as the vertex scalar interval used here, so
            the result will not be accurate.
        """
        ...
    
    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__ = ...


