# encoding: utf-8
# module vtkmodules.vtkRenderingOpenGL2
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkRenderingOpenGL2.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkRenderingCore as __vtkmodules_vtkRenderingCore
import vtkmodules.vtkRenderingHyperTreeGrid as __vtkmodules_vtkRenderingHyperTreeGrid


class vtkOpenGLVertexArrayObject(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkOpenGLVertexArrayObject - The VertexArrayObject class uses, or
    emulates, vertex array objects.
    
    Superclass: vtkObject
    
    These are extremely useful for setup/tear down of vertex attributes,
    and can offer significant performance benefits when the hardware
    supports them.
    
    It should be noted that this object is very lightweight, and it
    assumes the objects being used are correctly set up. Even without
    support for VAOs this class caches the array locations, types, etc
    and avoids repeated look ups. It it bound to a single ShaderProgram
    object.
    """
    def AddAttributeArray(self, program, buffer, name, offset, stride, elementType, elementTupleSize, normalize): # real signature unknown; restored from __doc__
        """
        AddAttributeArray(self, program:vtkShaderProgram,
            buffer:vtkOpenGLBufferObject, name:str, offset:int,
            stride:int, elementType:int, elementTupleSize:int,
            normalize:bool) -> bool
        C++: bool AddAttributeArray(vtkShaderProgram *program,
            vtkOpenGLBufferObject *buffer, const std::string &name,
            int offset, size_t stride, int elementType,
            int elementTupleSize, bool normalize)
        AddAttributeArray(self, program:vtkShaderProgram,
            buffer:vtkOpenGLVertexBufferObject, name:str, offset:int,
            normalize:bool) -> bool
        C++: bool AddAttributeArray(vtkShaderProgram *program,
            vtkOpenGLVertexBufferObject *buffer, const std::string &name,
            int offset, bool normalize)
        """
        return False

    def AddAttributeArrayWithDivisor(self, program, buffer, name, offset, stride, elementType, elementTupleSize, normalize, divisor, isMatrix): # real signature unknown; restored from __doc__
        """
        AddAttributeArrayWithDivisor(self, program:vtkShaderProgram,
            buffer:vtkOpenGLBufferObject, name:str, offset:int,
            stride:int, elementType:int, elementTupleSize:int,
            normalize:bool, divisor:int, isMatrix:bool) -> bool
        C++: bool AddAttributeArrayWithDivisor(vtkShaderProgram *program,
            vtkOpenGLBufferObject *buffer, const std::string &name,
            int offset, size_t stride, int elementType,
            int elementTupleSize, bool normalize, int divisor,
            bool isMatrix)
        """
        return False

    def AddAttributeMatrixWithDivisor(self, program, buffer, name, offset, stride, elementType, elementTupleSize, normalize, divisor, tupleOffset): # real signature unknown; restored from __doc__
        """
        AddAttributeMatrixWithDivisor(self, program:vtkShaderProgram,
            buffer:vtkOpenGLBufferObject, name:str, offset:int,
            stride:int, elementType:int, elementTupleSize:int,
            normalize:bool, divisor:int, tupleOffset:int) -> bool
        C++: bool AddAttributeMatrixWithDivisor(vtkShaderProgram *program,
             vtkOpenGLBufferObject *buffer, const std::string &name,
            int offset, size_t stride, int elementType,
            int elementTupleSize, bool normalize, int divisor,
            int tupleOffset)
        """
        return False

    def Bind(self): # real signature unknown; restored from __doc__
        """
        Bind(self) -> None
        C++: void Bind()
        """
        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 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) -> vtkOpenGLVertexArrayObject
        C++: vtkOpenGLVertexArrayObject *NewInstance()
        """
        return vtkOpenGLVertexArrayObject

    def Release(self): # real signature unknown; restored from __doc__
        """
        Release(self) -> None
        C++: void Release()
        """
        pass

    def ReleaseGraphicsResources(self): # real signature unknown; restored from __doc__
        """
        ReleaseGraphicsResources(self) -> None
        C++: void ReleaseGraphicsResources()
        """
        pass

    def RemoveAttributeArray(self, name): # real signature unknown; restored from __doc__
        """
        RemoveAttributeArray(self, name:str) -> bool
        C++: bool RemoveAttributeArray(const std::string &name)
        """
        return False

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkOpenGLVertexArrayObject
        C++: static vtkOpenGLVertexArrayObject *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkOpenGLVertexArrayObject

    def SetForceEmulation(self, val): # real signature unknown; restored from __doc__
        """
        SetForceEmulation(self, val:bool) -> None
        C++: void SetForceEmulation(bool val)
        """
        pass

    def ShaderProgramChanged(self): # real signature unknown; restored from __doc__
        """
        ShaderProgramChanged(self) -> None
        C++: void ShaderProgramChanged()
        """
        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__': 'vtkOpenGLVertexArrayObject', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'Bind': <method 'Bind' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'Release': <method 'Release' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'ReleaseGraphicsResources': <method 'ReleaseGraphicsResources' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'ShaderProgramChanged': <method 'ShaderProgramChanged' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'AddAttributeArray': <method 'AddAttributeArray' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'AddAttributeArrayWithDivisor': <method 'AddAttributeArrayWithDivisor' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'AddAttributeMatrixWithDivisor': <method 'AddAttributeMatrixWithDivisor' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'RemoveAttributeArray': <method 'RemoveAttributeArray' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, 'SetForceEmulation': <method 'SetForceEmulation' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF8205FEFD0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkRenderingOpenGL2.vtkOpenGLVertexArrayObject' objects>, '__doc__': 'vtkOpenGLVertexArrayObject - The VertexArrayObject class uses, or\\nemulates, vertex array objects.\\n\\nSuperclass: vtkObject\\n\\nThese are extremely useful for setup/tear down of vertex attributes,\\nand can offer significant performance benefits when the hardware\\nsupports them.\\n\\nIt should be noted that this object is very lightweight, and it\\nassumes the objects being used are correctly set up. Even without\\nsupport for VAOs this class caches the array locations, types, etc\\nand avoids repeated look ups. It it bound to a single ShaderProgram\\nobject.\\n\\n'})"
    __vtkname__ = 'vtkOpenGLVertexArrayObject'


