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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkExtractTimeSteps(__vtkmodules_vtkCommonExecutionModel.vtkPassInputTypeAlgorithm):
    """
    vtkExtractTimeSteps - extract specific time-steps from dataset
    
    Superclass: vtkPassInputTypeAlgorithm
    
    vtkExtractTimeSteps extracts the specified time steps from the input
    dataset. It has two modes, one to specify timesteps explicitly by
    their indices and one to specify a range of timesteps to extract.
    
    When specifying timesteps explicitly the timesteps to be extracted
    are specified by their indices. If no time step is specified, all of
    the input time steps are extracted.
    
    When specifying a range, the beginning and end times are specified
    and the timesteps in between are extracted.  This can be modified by
    the TimeStepInterval property that sets the filter to extract every
    Nth timestep.
    
    This filter is useful when one wants to work with only a sub-set of
    the input time steps.
    """
    def AddTimeStepIndex(self, p_int):
        """
        V.AddTimeStepIndex(int)
        C++: void AddTimeStepIndex(int timeStepIndex)
        
        Add a time step index. Not added if the index already exists.
        """
        ...
    
    def ClearTimeStepIndices(self):
        """
        V.ClearTimeStepIndices()
        C++: void ClearTimeStepIndices()
        
        Clear the time step indices
        """
        ...
    
    def GenerateTimeStepIndices(self, p_int, p_int_1, p_int_2):
        """
        V.GenerateTimeStepIndices(int, int, int)
        C++: void GenerateTimeStepIndices(int begin, int end, int step)
        
        Generate a range of indices in [begin, end) with a step size of
        'step'
        """
        ...
    
    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 GetNumberOfTimeSteps(self):
        """
        V.GetNumberOfTimeSteps() -> int
        C++: int GetNumberOfTimeSteps()
        
        Get the number of time steps that will be extracted
        """
        ...
    
    def GetRange(self):
        """
        V.GetRange() -> (int, int)
        C++: virtual int *GetRange()
        
        Get/Set the range of time steps to extract.
        """
        ...
    
    def GetTimeEstimationMode(self):
        """
        V.GetTimeEstimationMode() -> int
        C++: virtual int GetTimeEstimationMode()
        
        Get/Set what to do when the requested time is not one of the
        timesteps this filter is set to extract.  Should be one of the
        values of the enum vtkExtractTimeSteps::EstimationMode. The
        default is PREVIOUS_TIMESTEP.
        """
        ...
    
    def GetTimeStepIndices(self, *int):
        """
        V.GetTimeStepIndices([int, ...])
        C++: void GetTimeStepIndices(int *timeStepIndices)
        
        Get/Set an array of time step indices. For the Get function,
        timeStepIndices should be big enough for GetNumberOfTimeSteps()
        values.
        """
        ...
    
    def GetTimeStepInterval(self):
        """
        V.GetTimeStepInterval() -> int
        C++: virtual int GetTimeStepInterval()
        
        Get/Set the time step interval to extract.  This is the N in
        'extract every Nth timestep in this range'.  Default to 1 or
        'extract all timesteps in this range.
        """
        ...
    
    def GetTimeStepIntervalMaxValue(self):
        """
        V.GetTimeStepIntervalMaxValue() -> int
        C++: virtual int GetTimeStepIntervalMaxValue()
        
        Get/Set the time step interval to extract.  This is the N in
        'extract every Nth timestep in this range'.  Default to 1 or
        'extract all timesteps in this range.
        """
        ...
    
    def GetTimeStepIntervalMinValue(self):
        """
        V.GetTimeStepIntervalMinValue() -> int
        C++: virtual int GetTimeStepIntervalMinValue()
        
        Get/Set the time step interval to extract.  This is the N in
        'extract every Nth timestep in this range'.  Default to 1 or
        'extract all timesteps in this range.
        """
        ...
    
    def GetUseRange(self):
        """
        V.GetUseRange() -> bool
        C++: virtual bool GetUseRange()
        
        Get/Set whether to extract a range of timesteps.  When false,
        extracts the time steps explicitly set with SetTimeStepIndices. 
        Defaults to false.
        """
        ...
    
    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() -> vtkExtractTimeSteps
        C++: vtkExtractTimeSteps *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkExtractTimeSteps
        C++: static vtkExtractTimeSteps *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetRange(self, p_int, p_int_1):
        """
        V.SetRange(int, int)
        C++: virtual void SetRange(int _arg1, int _arg2)
        V.SetRange((int, int))
        C++: void SetRange(const int _arg[2])
        
        Get/Set the range of time steps to extract.
        """
        ...
    
    def SetTimeEstimationMode(self, p_int):
        """
        V.SetTimeEstimationMode(int)
        C++: virtual void SetTimeEstimationMode(int _arg)
        
        Get/Set what to do when the requested time is not one of the
        timesteps this filter is set to extract.  Should be one of the
        values of the enum vtkExtractTimeSteps::EstimationMode. The
        default is PREVIOUS_TIMESTEP.
        """
        ...
    
    def SetTimeEstimationModeToNearest(self):
        """
        V.SetTimeEstimationModeToNearest()
        C++: void SetTimeEstimationModeToNearest()
        
        Get/Set what to do when the requested time is not one of the
        timesteps this filter is set to extract.  Should be one of the
        values of the enum vtkExtractTimeSteps::EstimationMode. The
        default is PREVIOUS_TIMESTEP.
        """
        ...
    
    def SetTimeEstimationModeToNext(self):
        """
        V.SetTimeEstimationModeToNext()
        C++: void SetTimeEstimationModeToNext()
        
        Get/Set what to do when the requested time is not one of the
        timesteps this filter is set to extract.  Should be one of the
        values of the enum vtkExtractTimeSteps::EstimationMode. The
        default is PREVIOUS_TIMESTEP.
        """
        ...
    
    def SetTimeEstimationModeToPrevious(self):
        """
        V.SetTimeEstimationModeToPrevious()
        C++: void SetTimeEstimationModeToPrevious()
        
        Get/Set what to do when the requested time is not one of the
        timesteps this filter is set to extract.  Should be one of the
        values of the enum vtkExtractTimeSteps::EstimationMode. The
        default is PREVIOUS_TIMESTEP.
        """
        ...
    
    def SetTimeStepIndices(self, p_int, int_tuple):
        """
        V.SetTimeStepIndices(int, (int, ...))
        C++: void SetTimeStepIndices(int count,
            const int *timeStepIndices)
        
        Get/Set an array of time step indices. For the Get function,
        timeStepIndices should be big enough for GetNumberOfTimeSteps()
        values.
        """
        ...
    
    def SetTimeStepInterval(self, p_int):
        """
        V.SetTimeStepInterval(int)
        C++: virtual void SetTimeStepInterval(int _arg)
        
        Get/Set the time step interval to extract.  This is the N in
        'extract every Nth timestep in this range'.  Default to 1 or
        'extract all timesteps in this range.
        """
        ...
    
    def SetUseRange(self, bool):
        """
        V.SetUseRange(bool)
        C++: virtual void SetUseRange(bool _arg)
        
        Get/Set whether to extract a range of timesteps.  When false,
        extracts the time steps explicitly set with SetTimeStepIndices. 
        Defaults to false.
        """
        ...
    
    def UseRangeOff(self):
        """
        V.UseRangeOff()
        C++: virtual void UseRangeOff()
        
        Get/Set whether to extract a range of timesteps.  When false,
        extracts the time steps explicitly set with SetTimeStepIndices. 
        Defaults to false.
        """
        ...
    
    def UseRangeOn(self):
        """
        V.UseRangeOn()
        C++: virtual void UseRangeOn()
        
        Get/Set whether to extract a range of timesteps.  When false,
        extracts the time steps explicitly set with SetTimeStepIndices. 
        Defaults to false.
        """
        ...
    
    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__ = ...
    NEAREST_TIMESTEP = ...
    NEXT_TIMESTEP = ...
    PREVIOUS_TIMESTEP = ...
    __dict__ = ...
    __vtkname__ = ...


