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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkAppendPolyData(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkAppendPolyData - appends one or more polygonal datasets together
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkAppendPolyData is a filter that appends one of more polygonal
    datasets into a single polygonal dataset. All geometry is extracted
    and appended, but point and cell attributes (i.e., scalars, vectors,
    normals) are extracted and appended only if all datasets have the
    point and/or cell attributes available.  (For example, if one dataset
    has point scalars but another does not, point scalars will not be
    appended.)
    
    @sa
    vtkAppendFilter
    """
    def AddInputData(self, vtkPolyData):
        """
        V.AddInputData(vtkPolyData)
        C++: void AddInputData(vtkPolyData *)
        
        Add a dataset to the list of data to append. Should not be used
        when UserManagedInputs is true, use SetInputByNumber instead.
        """
        ...
    
    def GetInput(self, p_int):
        """
        V.GetInput(int) -> vtkPolyData
        C++: vtkPolyData *GetInput(int idx)
        V.GetInput() -> vtkPolyData
        C++: vtkPolyData *GetInput()
        
        Get any input of this filter.
        """
        ...
    
    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++: virtual 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 GetParallelStreaming(self):
        """
        V.GetParallelStreaming() -> int
        C++: virtual vtkTypeBool GetParallelStreaming()
        
        ParallelStreaming is for a particular application. It causes this
        filter to ask for a different piece from each of its inputs.  If
        all the inputs are the same, then the output of this append
        filter is the whole dataset pieced back together.  Duplicate
        points are create along the seams.  The purpose of this feature
        is to get data parallelism at a course scale.  Each of the inputs
        can be generated in a different process at the same time.
        """
        ...
    
    def GetUserManagedInputs(self):
        """
        V.GetUserManagedInputs() -> int
        C++: virtual vtkTypeBool GetUserManagedInputs()
        
        UserManagedInputs allows the user to set inputs by number instead
        of using the AddInput/RemoveInput functions. Calls to
        SetNumberOfInputs/SetInputConnectionByNumber should not be mixed
        with calls to AddInput/RemoveInput. By default, UserManagedInputs
        is 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() -> vtkAppendPolyData
        C++: vtkAppendPolyData *NewInstance()
        """
        ...
    
    def ParallelStreamingOff(self):
        """
        V.ParallelStreamingOff()
        C++: virtual void ParallelStreamingOff()
        
        ParallelStreaming is for a particular application. It causes this
        filter to ask for a different piece from each of its inputs.  If
        all the inputs are the same, then the output of this append
        filter is the whole dataset pieced back together.  Duplicate
        points are create along the seams.  The purpose of this feature
        is to get data parallelism at a course scale.  Each of the inputs
        can be generated in a different process at the same time.
        """
        ...
    
    def ParallelStreamingOn(self):
        """
        V.ParallelStreamingOn()
        C++: virtual void ParallelStreamingOn()
        
        ParallelStreaming is for a particular application. It causes this
        filter to ask for a different piece from each of its inputs.  If
        all the inputs are the same, then the output of this append
        filter is the whole dataset pieced back together.  Duplicate
        points are create along the seams.  The purpose of this feature
        is to get data parallelism at a course scale.  Each of the inputs
        can be generated in a different process at the same time.
        """
        ...
    
    def RemoveInputData(self, vtkPolyData):
        """
        V.RemoveInputData(vtkPolyData)
        C++: void RemoveInputData(vtkPolyData *)
        
        Remove a dataset from the list of data to append. Should not be
        used when UserManagedInputs is true, use SetInputByNumber
        (nullptr) instead.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkAppendPolyData
        C++: static vtkAppendPolyData *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetInputConnectionByNumber(self, p_int, vtkAlgorithmOutput):
        """
        V.SetInputConnectionByNumber(int, vtkAlgorithmOutput)
        C++: void SetInputConnectionByNumber(int num,
            vtkAlgorithmOutput *input)
        """
        ...
    
    def SetInputDataByNumber(self, p_int, vtkPolyData):
        """
        V.SetInputDataByNumber(int, vtkPolyData)
        C++: void SetInputDataByNumber(int num, vtkPolyData *ds)
        """
        ...
    
    def SetNumberOfInputs(self, p_int):
        """
        V.SetNumberOfInputs(int)
        C++: void SetNumberOfInputs(int num)
        
        Directly set(allocate) number of inputs, should only be used when
        UserManagedInputs is true.
        """
        ...
    
    def SetOutputPointsPrecision(self, p_int):
        """
        V.SetOutputPointsPrecision(int)
        C++: virtual void SetOutputPointsPrecision(int _arg)
        
        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 SetParallelStreaming(self, p_int):
        """
        V.SetParallelStreaming(int)
        C++: virtual void SetParallelStreaming(vtkTypeBool _arg)
        
        ParallelStreaming is for a particular application. It causes this
        filter to ask for a different piece from each of its inputs.  If
        all the inputs are the same, then the output of this append
        filter is the whole dataset pieced back together.  Duplicate
        points are create along the seams.  The purpose of this feature
        is to get data parallelism at a course scale.  Each of the inputs
        can be generated in a different process at the same time.
        """
        ...
    
    def SetUserManagedInputs(self, p_int):
        """
        V.SetUserManagedInputs(int)
        C++: virtual void SetUserManagedInputs(vtkTypeBool _arg)
        
        UserManagedInputs allows the user to set inputs by number instead
        of using the AddInput/RemoveInput functions. Calls to
        SetNumberOfInputs/SetInputConnectionByNumber should not be mixed
        with calls to AddInput/RemoveInput. By default, UserManagedInputs
        is false.
        """
        ...
    
    def UserManagedInputsOff(self):
        """
        V.UserManagedInputsOff()
        C++: virtual void UserManagedInputsOff()
        
        UserManagedInputs allows the user to set inputs by number instead
        of using the AddInput/RemoveInput functions. Calls to
        SetNumberOfInputs/SetInputConnectionByNumber should not be mixed
        with calls to AddInput/RemoveInput. By default, UserManagedInputs
        is false.
        """
        ...
    
    def UserManagedInputsOn(self):
        """
        V.UserManagedInputsOn()
        C++: virtual void UserManagedInputsOn()
        
        UserManagedInputs allows the user to set inputs by number instead
        of using the AddInput/RemoveInput functions. Calls to
        SetNumberOfInputs/SetInputConnectionByNumber should not be mixed
        with calls to AddInput/RemoveInput. By default, UserManagedInputs
        is 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__ = ...
    __dict__ = ...
    __vtkname__ = ...


