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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkStripper(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkStripper - create triangle strips and/or poly-lines
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkStripper is a filter that generates triangle strips and/or
    poly-lines from input polygons, triangle strips, and lines. Input
    polygons are assembled into triangle strips only if they are
    triangles; other types of polygons are passed through to the output
    and not stripped. (Use vtkTriangleFilter to triangulate
    non-triangular polygons prior to running this filter if you need to
    strip all the data.) The filter will pass through (to the output)
    vertices if they are present in the input polydata. Also note that if
    triangle strips or polylines are defined in the input they are passed
    through and not joined nor extended. (If you wish to strip these use
    vtkTriangleFilter to fragment the input into triangles and lines
    prior to running vtkStripper.)
    
    The ivar MaximumLength can be used to control the maximum allowable
    triangle strip and poly-line length.
    
    By default, this filter discards any cell data associated with the
    input. Thus is because the cell structure changes and and the old
    cell data is no longer valid. When PassCellDataAsFieldData flag is
    set, the cell data is passed as FieldData to the output using the
    following rule:
    1) for every cell in the output that is not a triangle strip, the
       cell data is inserted once per cell in the output field data.
    2) for every triangle strip cell in the output: ii) 1 tuple is
       inserted for every point(j|j>=2) in the strip. This is the cell
       data for the cell formed by (j-2, j-1, j) in the input. The field
       data order is same as cell data i.e. (verts,line,polys,tsrips).
    
    @warning
    If triangle strips or poly-lines exist in the input data they will be
    passed through to the output data. This filter will only construct
    triangle strips if triangle polygons are available; and will only
    construct poly-lines if lines are available.
    
    @sa
    vtkTriangleFilter
    """
    def GetJoinContiguousSegments(self):
        """
        V.GetJoinContiguousSegments() -> int
        C++: virtual vtkTypeBool GetJoinContiguousSegments()
        
        If on, the output polygonal segments will be joined if they are
        contiguous. This is useful after slicing a surface. The default
        is off.
        """
        ...
    
    def GetMaximumLength(self):
        """
        V.GetMaximumLength() -> int
        C++: virtual int GetMaximumLength()
        
        Specify the maximum number of triangles in a triangle strip,
        and/or the maximum number of lines in a poly-line.
        """
        ...
    
    def GetMaximumLengthMaxValue(self):
        """
        V.GetMaximumLengthMaxValue() -> int
        C++: virtual int GetMaximumLengthMaxValue()
        
        Specify the maximum number of triangles in a triangle strip,
        and/or the maximum number of lines in a poly-line.
        """
        ...
    
    def GetMaximumLengthMinValue(self):
        """
        V.GetMaximumLengthMinValue() -> int
        C++: virtual int GetMaximumLengthMinValue()
        
        Specify the maximum number of triangles in a triangle strip,
        and/or the maximum number of lines in a poly-line.
        """
        ...
    
    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 GetPassCellDataAsFieldData(self):
        """
        V.GetPassCellDataAsFieldData() -> int
        C++: virtual vtkTypeBool GetPassCellDataAsFieldData()
        
        Enable/Disable passing of the CellData in the input to the output
        as FieldData. Note the field data is transformed.
        """
        ...
    
    def GetPassThroughCellIds(self):
        """
        V.GetPassThroughCellIds() -> int
        C++: virtual vtkTypeBool GetPassThroughCellIds()
        
        If on, the output polygonal dataset will have a celldata array
        that holds the cell index of the original 3D cell that produced
        each output cell. This is useful for picking. The default is off
        to conserve memory.
        """
        ...
    
    def GetPassThroughPointIds(self):
        """
        V.GetPassThroughPointIds() -> int
        C++: virtual vtkTypeBool GetPassThroughPointIds()
        
        If on, the output polygonal dataset will have a pointdata array
        that holds the point index of the original vertex that produced
        each output vertex. This is useful for picking. The default is
        off to conserve memory.
        """
        ...
    
    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 JoinContiguousSegmentsOff(self):
        """
        V.JoinContiguousSegmentsOff()
        C++: virtual void JoinContiguousSegmentsOff()
        
        If on, the output polygonal segments will be joined if they are
        contiguous. This is useful after slicing a surface. The default
        is off.
        """
        ...
    
    def JoinContiguousSegmentsOn(self):
        """
        V.JoinContiguousSegmentsOn()
        C++: virtual void JoinContiguousSegmentsOn()
        
        If on, the output polygonal segments will be joined if they are
        contiguous. This is useful after slicing a surface. The default
        is off.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkStripper
        C++: vtkStripper *NewInstance()
        """
        ...
    
    def PassCellDataAsFieldDataOff(self):
        """
        V.PassCellDataAsFieldDataOff()
        C++: virtual void PassCellDataAsFieldDataOff()
        
        Enable/Disable passing of the CellData in the input to the output
        as FieldData. Note the field data is transformed.
        """
        ...
    
    def PassCellDataAsFieldDataOn(self):
        """
        V.PassCellDataAsFieldDataOn()
        C++: virtual void PassCellDataAsFieldDataOn()
        
        Enable/Disable passing of the CellData in the input to the output
        as FieldData. Note the field data is transformed.
        """
        ...
    
    def PassThroughCellIdsOff(self):
        """
        V.PassThroughCellIdsOff()
        C++: virtual void PassThroughCellIdsOff()
        
        If on, the output polygonal dataset will have a celldata array
        that holds the cell index of the original 3D cell that produced
        each output cell. This is useful for picking. The default is off
        to conserve memory.
        """
        ...
    
    def PassThroughCellIdsOn(self):
        """
        V.PassThroughCellIdsOn()
        C++: virtual void PassThroughCellIdsOn()
        
        If on, the output polygonal dataset will have a celldata array
        that holds the cell index of the original 3D cell that produced
        each output cell. This is useful for picking. The default is off
        to conserve memory.
        """
        ...
    
    def PassThroughPointIdsOff(self):
        """
        V.PassThroughPointIdsOff()
        C++: virtual void PassThroughPointIdsOff()
        
        If on, the output polygonal dataset will have a pointdata array
        that holds the point index of the original vertex that produced
        each output vertex. This is useful for picking. The default is
        off to conserve memory.
        """
        ...
    
    def PassThroughPointIdsOn(self):
        """
        V.PassThroughPointIdsOn()
        C++: virtual void PassThroughPointIdsOn()
        
        If on, the output polygonal dataset will have a pointdata array
        that holds the point index of the original vertex that produced
        each output vertex. This is useful for picking. The default is
        off to conserve memory.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkStripper
        C++: static vtkStripper *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetJoinContiguousSegments(self, p_int):
        """
        V.SetJoinContiguousSegments(int)
        C++: virtual void SetJoinContiguousSegments(vtkTypeBool _arg)
        
        If on, the output polygonal segments will be joined if they are
        contiguous. This is useful after slicing a surface. The default
        is off.
        """
        ...
    
    def SetMaximumLength(self, p_int):
        """
        V.SetMaximumLength(int)
        C++: virtual void SetMaximumLength(int _arg)
        
        Specify the maximum number of triangles in a triangle strip,
        and/or the maximum number of lines in a poly-line.
        """
        ...
    
    def SetPassCellDataAsFieldData(self, p_int):
        """
        V.SetPassCellDataAsFieldData(int)
        C++: virtual void SetPassCellDataAsFieldData(vtkTypeBool _arg)
        
        Enable/Disable passing of the CellData in the input to the output
        as FieldData. Note the field data is transformed.
        """
        ...
    
    def SetPassThroughCellIds(self, p_int):
        """
        V.SetPassThroughCellIds(int)
        C++: virtual void SetPassThroughCellIds(vtkTypeBool _arg)
        
        If on, the output polygonal dataset will have a celldata array
        that holds the cell index of the original 3D cell that produced
        each output cell. This is useful for picking. The default is off
        to conserve memory.
        """
        ...
    
    def SetPassThroughPointIds(self, p_int):
        """
        V.SetPassThroughPointIds(int)
        C++: virtual void SetPassThroughPointIds(vtkTypeBool _arg)
        
        If on, the output polygonal dataset will have a pointdata array
        that holds the point index of the original vertex that produced
        each output vertex. This is useful for picking. The default is
        off to conserve memory.
        """
        ...
    
    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__ = ...


