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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkExecutive(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkExecutive - Superclass for all pipeline executives in VTK.
    
    Superclass: vtkObject
    
    vtkExecutive is the superclass for all pipeline executives in VTK. A
    VTK executive is responsible for controlling one instance of
    vtkAlgorithm.  A pipeline consists of one or more executives that
    control data flow.  Every reader, source, writer, or data processing
    algorithm in the pipeline is implemented in an instance of
    vtkAlgorithm.
    """
    def ALGORITHM_AFTER_FORWARD(self):
        """
        V.ALGORITHM_AFTER_FORWARD() -> vtkInformationIntegerKey
        C++: static vtkInformationIntegerKey *ALGORITHM_AFTER_FORWARD()
        
        Keys to program vtkExecutive::ProcessRequest with the default
        behavior for unknown requests.
        """
        ...
    
    def ALGORITHM_BEFORE_FORWARD(self):
        """
        V.ALGORITHM_BEFORE_FORWARD() -> vtkInformationIntegerKey
        C++: static vtkInformationIntegerKey *ALGORITHM_BEFORE_FORWARD()
        
        Keys to program vtkExecutive::ProcessRequest with the default
        behavior for unknown requests.
        """
        ...
    
    def ALGORITHM_DIRECTION(self):
        """
        V.ALGORITHM_DIRECTION() -> vtkInformationIntegerKey
        C++: static vtkInformationIntegerKey *ALGORITHM_DIRECTION()
        
        Keys to program vtkExecutive::ProcessRequest with the default
        behavior for unknown requests.
        """
        ...
    
    def CONSUMERS(self):
        """
        V.CONSUMERS() -> vtkInformationExecutivePortVectorKey
        C++: static vtkInformationExecutivePortVectorKey *CONSUMERS()
        
        Information key to store the executive/port number pairs
        consuming an information object.
        """
        ...
    
    def FORWARD_DIRECTION(self):
        """
        V.FORWARD_DIRECTION() -> vtkInformationIntegerKey
        C++: static vtkInformationIntegerKey *FORWARD_DIRECTION()
        
        Keys to program vtkExecutive::ProcessRequest with the default
        behavior for unknown requests.
        """
        ...
    
    def FROM_OUTPUT_PORT(self):
        """
        V.FROM_OUTPUT_PORT() -> vtkInformationIntegerKey
        C++: static vtkInformationIntegerKey *FROM_OUTPUT_PORT()
        
        Information key to store the output port number from which a
        request is made.
        """
        ...
    
    def GetAlgorithm(self):
        """
        V.GetAlgorithm() -> vtkAlgorithm
        C++: vtkAlgorithm *GetAlgorithm()
        
        Get the algorithm to which this executive has been assigned.
        """
        ...
    
    def GetInputData(self, p_int, p_int_1):
        """
        V.GetInputData(int, int) -> vtkDataObject
        C++: virtual vtkDataObject *GetInputData(int port, int connection)
        
        Get the data object for an input port of the algorithm.
        """
        ...
    
    def GetInputExecutive(self, p_int, p_int_1):
        """
        V.GetInputExecutive(int, int) -> vtkExecutive
        C++: vtkExecutive *GetInputExecutive(int port, int connection)
        
        Get the executive managing the given input connection.
        """
        ...
    
    def GetInputInformation(self, p_int, p_int_1):
        """
        V.GetInputInformation(int, int) -> vtkInformation
        C++: vtkInformation *GetInputInformation(int port, int connection)
        V.GetInputInformation(int) -> vtkInformationVector
        C++: vtkInformationVector *GetInputInformation(int port)
        
        Get the pipeline information for the given input connection.
        """
        ...
    
    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 GetNumberOfInputConnections(self, p_int):
        """
        V.GetNumberOfInputConnections(int) -> int
        C++: int GetNumberOfInputConnections(int port)
        
        Get the number of input connections on the given port.
        """
        ...
    
    def GetNumberOfInputPorts(self):
        """
        V.GetNumberOfInputPorts() -> int
        C++: int GetNumberOfInputPorts()
        
        Get the number of input/output ports for the algorithm associated
        with this executive.  Returns 0 if no algorithm is set.
        """
        ...
    
    def GetNumberOfOutputPorts(self):
        """
        V.GetNumberOfOutputPorts() -> int
        C++: int GetNumberOfOutputPorts()
        
        Get the number of input/output ports for the algorithm associated
        with this executive.  Returns 0 if no algorithm is set.
        """
        ...
    
    def GetOutputData(self, p_int):
        """
        V.GetOutputData(int) -> vtkDataObject
        C++: virtual vtkDataObject *GetOutputData(int port)
        
        Get/Set the data object for an output port of the algorithm.
        """
        ...
    
    def GetOutputInformation(self, p_int):
        """
        V.GetOutputInformation(int) -> vtkInformation
        C++: virtual vtkInformation *GetOutputInformation(int port)
        V.GetOutputInformation() -> vtkInformationVector
        C++: vtkInformationVector *GetOutputInformation()
        
        Get the pipeline information object for the given output port.
        """
        ...
    
    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 KEYS_TO_COPY(self):
        """
        V.KEYS_TO_COPY() -> vtkInformationKeyVectorKey
        C++: static vtkInformationKeyVectorKey *KEYS_TO_COPY()
        
        Keys to program vtkExecutive::ProcessRequest with the default
        behavior for unknown requests.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkExecutive
        C++: vtkExecutive *NewInstance()
        """
        ...
    
    def PRODUCER(self):
        """
        V.PRODUCER() -> vtkInformationExecutivePortKey
        C++: static vtkInformationExecutivePortKey *PRODUCER()
        
        Information key to store the executive/port number producing an
        information object.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkExecutive
        C++: static vtkExecutive *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetOutputData(self, p_int, vtkDataObject, vtkInformation):
        """
        V.SetOutputData(int, vtkDataObject, vtkInformation)
        C++: virtual void SetOutputData(int port, vtkDataObject *,
            vtkInformation *info)
        V.SetOutputData(int, vtkDataObject)
        C++: virtual void SetOutputData(int port, vtkDataObject *)
        
        Get/Set the data object for an output port of the algorithm.
        """
        ...
    
    def SetSharedOutputInformation(self, vtkInformationVector):
        """
        V.SetSharedOutputInformation(vtkInformationVector)
        C++: void SetSharedOutputInformation(
            vtkInformationVector *outInfoVec)
        
        Set a pointer to an outside instance of input or output
        information vectors.  No references are held to the given
        vectors, and setting this does not change the executive object
        modification time.  This is a preliminary interface to use in
        implementing filters with internal pipelines, and may change
        without notice when a future interface is created.
        """
        ...
    
    def Update(self):
        """
        V.Update() -> int
        C++: virtual vtkTypeBool Update()
        V.Update(int) -> int
        C++: virtual vtkTypeBool Update(int port)
        
        Bring the algorithm's outputs up-to-date.  Returns 1 for success
        and 0 for failure.
        """
        ...
    
    def UpdateInformation(self):
        """
        V.UpdateInformation() -> int
        C++: virtual int UpdateInformation()
        
        Bring the output information up to date.
        """
        ...
    
    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__ = ...
    AfterForward = ...
    BeforeForward = ...
    RequestDownstream = ...
    RequestUpstream = ...
    __dict__ = ...
    __vtkname__ = ...


