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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkImageAppend(__vtkmodules_vtkCommonExecutionModel.vtkThreadedImageAlgorithm):
    """
    vtkImageAppend - Collects data from multiple inputs into one image.
    
    Superclass: vtkThreadedImageAlgorithm
    
    vtkImageAppend takes the components from multiple inputs and merges
    them into one output. The output images are append along the
    "AppendAxis". Except for the append axis, all inputs must have the
    same extent. All inputs must have the same number of scalar
    components. A future extension might be to pad or clip inputs to have
    the same extent. The output has the same origin and spacing as the
    first input. The origin and spacing of all other inputs are ignored. 
    All inputs must have the same scalar type.
    """
    def GetAppendAxis(self):
        """
        V.GetAppendAxis() -> int
        C++: virtual int GetAppendAxis()
        
        This axis is expanded to hold the multiple images. The default
        AppendAxis is the X axis. If you want to create a volue from a
        series of XY images, then you should set the AppendAxis to 2 (Z
        axis).
        """
        ...
    
    def GetInput(self, p_int):
        """
        V.GetInput(int) -> vtkDataObject
        C++: vtkDataObject *GetInput(int num)
        V.GetInput() -> vtkDataObject
        C++: vtkDataObject *GetInput()
        
        Get one input to this filter. This method is only for support of
        old-style pipeline connections.  When writing new code you should
        use vtkAlgorithm::GetInputConnection(0, num).
        """
        ...
    
    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 GetNumberOfInputs(self):
        """
        V.GetNumberOfInputs() -> int
        C++: int GetNumberOfInputs()
        
        Get the number of inputs to this filter. This method is only for
        support of old-style pipeline connections.  When writing new code
        you should use vtkAlgorithm::GetNumberOfInputConnections(0).
        """
        ...
    
    def GetPreserveExtents(self):
        """
        V.GetPreserveExtents() -> int
        C++: virtual vtkTypeBool GetPreserveExtents()
        
        By default "PreserveExtents" is off and the append axis is used.
        When "PreseveExtents" is on, the extent of the inputs is used to
        place the image in the output.  The whole extent of the output is
        the union of the input whole extents.  Any portion of the output
        not covered by the inputs is set to zero.  The origin and spacing
        is taken from the first input.
        """
        ...
    
    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() -> vtkImageAppend
        C++: vtkImageAppend *NewInstance()
        """
        ...
    
    def PreserveExtentsOff(self):
        """
        V.PreserveExtentsOff()
        C++: virtual void PreserveExtentsOff()
        
        By default "PreserveExtents" is off and the append axis is used.
        When "PreseveExtents" is on, the extent of the inputs is used to
        place the image in the output.  The whole extent of the output is
        the union of the input whole extents.  Any portion of the output
        not covered by the inputs is set to zero.  The origin and spacing
        is taken from the first input.
        """
        ...
    
    def PreserveExtentsOn(self):
        """
        V.PreserveExtentsOn()
        C++: virtual void PreserveExtentsOn()
        
        By default "PreserveExtents" is off and the append axis is used.
        When "PreseveExtents" is on, the extent of the inputs is used to
        place the image in the output.  The whole extent of the output is
        the union of the input whole extents.  Any portion of the output
        not covered by the inputs is set to zero.  The origin and spacing
        is taken from the first input.
        """
        ...
    
    def ReplaceNthInputConnection(self, p_int, vtkAlgorithmOutput):
        """
        V.ReplaceNthInputConnection(int, vtkAlgorithmOutput)
        C++: virtual void ReplaceNthInputConnection(int idx,
            vtkAlgorithmOutput *input)
        
        Replace one of the input connections with a new input.  You can
        only replace input connections that you previously created with
        AddInputConnection() or, in the case of the first input, with
        SetInputConnection().
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkImageAppend
        C++: static vtkImageAppend *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAppendAxis(self, p_int):
        """
        V.SetAppendAxis(int)
        C++: virtual void SetAppendAxis(int _arg)
        
        This axis is expanded to hold the multiple images. The default
        AppendAxis is the X axis. If you want to create a volue from a
        series of XY images, then you should set the AppendAxis to 2 (Z
        axis).
        """
        ...
    
    def SetInputData(self, p_int, vtkDataObject):
        """
        V.SetInputData(int, vtkDataObject)
        C++: void SetInputData(int num, vtkDataObject *input)
        V.SetInputData(vtkDataObject)
        C++: void SetInputData(vtkDataObject *input)
        
        Assign a data object as input. Note that this method does not
        establish a pipeline connection. Use SetInputConnection() to
        setup a pipeline connection.
        """
        ...
    
    def SetPreserveExtents(self, p_int):
        """
        V.SetPreserveExtents(int)
        C++: virtual void SetPreserveExtents(vtkTypeBool _arg)
        
        By default "PreserveExtents" is off and the append axis is used.
        When "PreseveExtents" is on, the extent of the inputs is used to
        place the image in the output.  The whole extent of the output is
        the union of the input whole extents.  Any portion of the output
        not covered by the inputs is set to zero.  The origin and spacing
        is taken from the first input.
        """
        ...
    
    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__ = ...


