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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkAppendSelection(__vtkmodules_vtkCommonExecutionModel.vtkSelectionAlgorithm):
    """
    vtkAppendSelection - appends one or more selections together
    
    Superclass: vtkSelectionAlgorithm
    
    vtkAppendSelection is a filter that appends one of more selections
    into a single selection.  All selections must have the same content
    type unless AppendByUnion is false.
    """
    def AddInputData(self, vtkSelection):
        """
        V.AddInputData(vtkSelection)
        C++: void AddInputData(vtkSelection *)
        
        Add a dataset to the list of data to append. Should not be used
        when UserManagedInputs is true, use SetInputByNumber instead.
        """
        ...
    
    def AppendByUnionOff(self):
        """
        V.AppendByUnionOff()
        C++: virtual void AppendByUnionOff()
        
        When set to true, all the selections are combined together to
        form a single vtkSelection output. When set to false, the output
        is a composite selection with input selections as the children of
        the composite selection. This allows for selections with
        different content types and properties. Default is true.
        """
        ...
    
    def AppendByUnionOn(self):
        """
        V.AppendByUnionOn()
        C++: virtual void AppendByUnionOn()
        
        When set to true, all the selections are combined together to
        form a single vtkSelection output. When set to false, the output
        is a composite selection with input selections as the children of
        the composite selection. This allows for selections with
        different content types and properties. Default is true.
        """
        ...
    
    def GetAppendByUnion(self):
        """
        V.GetAppendByUnion() -> int
        C++: virtual vtkTypeBool GetAppendByUnion()
        
        When set to true, all the selections are combined together to
        form a single vtkSelection output. When set to false, the output
        is a composite selection with input selections as the children of
        the composite selection. This allows for selections with
        different content types and properties. Default is true.
        """
        ...
    
    def GetInput(self, p_int):
        """
        V.GetInput(int) -> vtkSelection
        C++: vtkSelection *GetInput(int idx)
        V.GetInput() -> vtkSelection
        C++: vtkSelection *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 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/SetInputByNumber 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() -> vtkAppendSelection
        C++: vtkAppendSelection *NewInstance()
        """
        ...
    
    def RemoveInputData(self, vtkSelection):
        """
        V.RemoveInputData(vtkSelection)
        C++: void RemoveInputData(vtkSelection *)
        
        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) -> vtkAppendSelection
        C++: static vtkAppendSelection *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAppendByUnion(self, p_int):
        """
        V.SetAppendByUnion(int)
        C++: virtual void SetAppendByUnion(vtkTypeBool _arg)
        
        When set to true, all the selections are combined together to
        form a single vtkSelection output. When set to false, the output
        is a composite selection with input selections as the children of
        the composite selection. This allows for selections with
        different content types and properties. Default is true.
        """
        ...
    
    def SetInputConnectionByNumber(self, p_int, vtkAlgorithmOutput):
        """
        V.SetInputConnectionByNumber(int, vtkAlgorithmOutput)
        C++: void SetInputConnectionByNumber(int num,
            vtkAlgorithmOutput *input)
        """
        ...
    
    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 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/SetInputByNumber 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/SetInputByNumber 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/SetInputByNumber 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__ = ...


