# encoding: utf-8
# module vtkmodules.vtkCommonExecutionModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonExecutionModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore


from .vtkAlgorithm import vtkAlgorithm

class vtkMoleculeAlgorithm(vtkAlgorithm):
    """
    vtkMoleculeAlgorithm - Superclass for algorithms that operate on
    vtkMolecules
    
    Superclass: vtkAlgorithm
    
    vtkMoleculeAlgorithm is a convenience class to make writing
    algorithms easier. There are some assumptions and defaults made by
    this class you should be aware of. This class defaults such that your
    filter will have one input port and one output port. If that is not
    the case simply change it with SetNumberOfInputPorts etc. See this
    class constructor for the default. This class also provides a
    FillInputPortInfo method that by default says that all inputs will be
    vtkMolecules. If that isn't the case then please override this method
    in your subclass. You should implement the subclass's algorithm into
    RequestData( request, inputVec, outputVec).
    """
    def AddInputData(self, __a): # real signature unknown; restored from __doc__
        """
        AddInputData(self, __a:vtkDataObject) -> None
        C++: void AddInputData(vtkDataObject *)
        AddInputData(self, __a:int, __b:vtkDataObject) -> None
        C++: void AddInputData(int, vtkDataObject *)
        
        Add an input of this algorithm.  Note that these methods support
        old-style pipeline connections.  When writing new code you should
        use the more general vtkAlgorithm::AddInputConnection().  See
        SetInputData() for details.
        """
        pass

    def GetInput(self): # real signature unknown; restored from __doc__
        """
        GetInput(self) -> vtkDataObject
        C++: vtkDataObject *GetInput()
        GetInput(self, port:int) -> vtkDataObject
        C++: vtkDataObject *GetInput(int port)
        """
        pass

    def GetMoleculeInput(self, port): # real signature unknown; restored from __doc__
        """
        GetMoleculeInput(self, port:int) -> vtkMolecule
        C++: vtkMolecule *GetMoleculeInput(int port)
        """
        pass

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def GetOutput(self): # real signature unknown; restored from __doc__
        """
        GetOutput(self) -> vtkMolecule
        C++: vtkMolecule *GetOutput()
        GetOutput(self, __a:int) -> vtkMolecule
        C++: vtkMolecule *GetOutput(int)
        
        Get the output data object for a port on this algorithm.
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkMoleculeAlgorithm
        C++: vtkMoleculeAlgorithm *NewInstance()
        """
        return vtkMoleculeAlgorithm

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkMoleculeAlgorithm
        C++: static vtkMoleculeAlgorithm *SafeDownCast(vtkObjectBase *o)
        """
        return vtkMoleculeAlgorithm

    def SetInputData(self, __a): # real signature unknown; restored from __doc__
        """
        SetInputData(self, __a:vtkDataObject) -> None
        C++: void SetInputData(vtkDataObject *)
        SetInputData(self, __a:int, __b:vtkDataObject) -> None
        C++: void SetInputData(int, vtkDataObject *)
        
        Set an input of this algorithm. You should not override these
        methods because they are not the only way to connect a pipeline.
        Note that these methods support old-style pipeline connections.
        When writing new code you should use the more general
        vtkAlgorithm::SetInputConnection().  These methods transform the
        input index to the input port index, not an index of a connection
        within a single port.
        """
        pass

    def SetOutput(self, d): # real signature unknown; restored from __doc__
        """
        SetOutput(self, d:vtkMolecule) -> None
        C++: virtual void SetOutput(vtkMolecule *d)
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkMoleculeAlgorithm\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'GetOutput\': <method \'GetOutput\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'SetOutput\': <method \'SetOutput\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'GetInput\': <method \'GetInput\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'GetMoleculeInput\': <method \'GetMoleculeInput\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'SetInputData\': <method \'SetInputData\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'AddInputData\': <method \'AddInputData\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF82F4E5230>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonExecutionModel.vtkMoleculeAlgorithm\' objects>, \'__doc__\': "vtkMoleculeAlgorithm - Superclass for algorithms that operate on\\nvtkMolecules\\n\\nSuperclass: vtkAlgorithm\\n\\nvtkMoleculeAlgorithm is a convenience class to make writing\\nalgorithms easier. There are some assumptions and defaults made by\\nthis class you should be aware of. This class defaults such that your\\nfilter will have one input port and one output port. If that is not\\nthe case simply change it with SetNumberOfInputPorts etc. See this\\nclass constructor for the default. This class also provides a\\nFillInputPortInfo method that by default says that all inputs will be\\nvtkMolecules. If that isn\'t the case then please override this method\\nin your subclass. You should implement the subclass\'s algorithm into\\nRequestData( request, inputVec, outputVec).\\n\\n"})'
    __vtkname__ = 'vtkMoleculeAlgorithm'


