# 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 vtkTransformFeedback(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkTransformFeedback - Manages a TransformFeedback buffer.
    
    Superclass: vtkObject
    
    OpenGL's TransformFeedback allows varying attributes from a
    vertex/geometry shader to be captured into a buffer for later
    processing. This is used in VTK to capture vertex information during
    GL2PS export when using the OpenGL2 backend as a replacement for the
    deprecated OpenGL feedback buffer.
    """
    def AddVarying(self, role, var): # real signature unknown; restored from __doc__
        """
        AddVarying(self, role:VaryingRole, var:str) -> None
        C++: void AddVarying(VaryingRole role, const std::string &var)
        
        Capture the varying 'var' with the indicated role.
        """
        pass

    def Allocate(self, nbBuffers, size, hint): # real signature unknown; restored from __doc__
        """
        Allocate(self, nbBuffers:int, size:int, hint:int) -> None
        C++: void Allocate(int nbBuffers, size_t size, unsigned int hint)
        
        Generates and allocates the transform feedback buffers. Must be
        called before BindBuffer. This releases old buffers. nbBuffers is
        the number of buffers to allocate. size if the size in byte to
        allocate per buffer. hint is the type of buffer (for example,
        GL_DYNAMIC_COPY)
        """
        pass

    def BindBuffer(self, allocateOneBuffer=True): # real signature unknown; restored from __doc__
        """
        BindBuffer(self, allocateOneBuffer:bool=True) -> None
        C++: void BindBuffer(bool allocateOneBuffer=true)
        
        Binds the feedback buffer, then call glBeginTransformFeedback
        with the specified PrimitiveMode. Must be called after
        BindVaryings and before any relevant glDraw commands. If
        allocateOneBuffer is true, allocates 1 buffer (used for retro
        compatibility).
        """
        pass

    def BindVaryings(self, prog): # real signature unknown; restored from __doc__
        """
        BindVaryings(self, prog:vtkShaderProgram) -> None
        C++: void BindVaryings(vtkShaderProgram *prog)
        
        GL_SEPARATE_ATTRIBS is not supported yet. The bufferMode argument
        to glTransformFeedbackVaryings. Must be GL_INTERLEAVED_ATTRIBS or
        GL_SEPARATE_ATTRIBS. Default is interleaved. Must be set prior to
        calling BindVaryings. vtkSetMacro(BufferMode, int);
        vtkGetMacro(BufferMode, int);
        
        Call glTransformFeedbackVaryings(). Must be called after the
        shaders are attached to prog, but before the program is linked.
        """
        pass

    def ClearVaryings(self): # real signature unknown; restored from __doc__
        """
        ClearVaryings(self) -> None
        C++: void ClearVaryings()
        
        Clear the list of varying attributes to capture.
        """
        pass

    def GetBuffer(self, index): # real signature unknown; restored from __doc__
        """
        GetBuffer(self, index:int) -> vtkOpenGLBufferObject
        C++: vtkOpenGLBufferObject *GetBuffer(int index)
        
        Get the transform buffer object. Only valid after calling
        BindBuffer.
        """
        return vtkOpenGLBufferObject

    def GetBufferData(self): # real signature unknown; restored from __doc__
        """
        GetBufferData(self) -> Pointer
        C++: virtual void *GetBufferData()
        
        Get the transform buffer data as a void pointer. Only valid after
        calling ReadBuffer.
        """
        pass

    def GetBufferHandle(self, index=0): # real signature unknown; restored from __doc__
        """
        GetBufferHandle(self, index:int=0) -> int
        C++: int GetBufferHandle(int index=0)
        
        Get the transform buffer object handle. Only valid after calling
        BindBuffer.
        """
        return 0

    def GetBufferSize(self): # real signature unknown; restored from __doc__
        """
        GetBufferSize(self) -> int
        C++: size_t GetBufferSize()
        
        The size (in bytes) of the capture buffer. Available after adding
        all Varyings and setting NumberOfVertices.
        """
        return 0

    def GetBytesPerVertex(self, role): # real signature unknown; restored from __doc__
        """
        GetBytesPerVertex(role:VaryingRole) -> int
        C++: static size_t GetBytesPerVertex(VaryingRole role)
        GetBytesPerVertex(self) -> int
        C++: size_t GetBytesPerVertex()
        
        Returns the number of data elements each vertex requires for a
        given role.
        """
        return 0

    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 GetNumberOfVertices(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfVertices(self) -> int
        C++: virtual size_t GetNumberOfVertices()
        """
        return 0

    def GetPrimitiveMode(self): # real signature unknown; restored from __doc__
        """
        GetPrimitiveMode(self) -> int
        C++: virtual int GetPrimitiveMode()
        """
        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) -> vtkTransformFeedback
        C++: vtkTransformFeedback *NewInstance()
        """
        return vtkTransformFeedback

    def ReadBuffer(self, index=0): # real signature unknown; restored from __doc__
        """
        ReadBuffer(self, index:int=0) -> None
        C++: void ReadBuffer(int index=0)
        
        Calls glEndTransformFeedback(), flushes the OpenGL command
        stream, and reads the transform feedback buffer into BufferData.
        Must be called after any relevant glDraw commands. If index is
        positive, data of specified buffer is copied to BufferData.
        """
        pass

    def ReleaseBufferData(self, freeBuffer=True): # real signature unknown; restored from __doc__
        """
        ReleaseBufferData(self, freeBuffer:bool=True) -> None
        C++: void ReleaseBufferData(bool freeBuffer=true)
        
        Release the memory used by the buffer data. If freeBuffer == true
        (default), the data is deleted. If false, the caller is
        responsible for deleting the BufferData with delete[].
        """
        pass

    def ReleaseGraphicsResources(self): # real signature unknown; restored from __doc__
        """
        ReleaseGraphicsResources(self) -> None
        C++: void ReleaseGraphicsResources()
        
        Release any graphics resources used by this object.
        """
        pass

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkTransformFeedback
        C++: static vtkTransformFeedback *SafeDownCast(vtkObjectBase *o)
        """
        return vtkTransformFeedback

    def SetNumberOfVertices(self, _arg): # real signature unknown; restored from __doc__
        """
        SetNumberOfVertices(self, _arg:int) -> None
        C++: virtual void SetNumberOfVertices(size_t _arg)
        SetNumberOfVertices(self, drawMode:int, inputVerts:int) -> None
        C++: void SetNumberOfVertices(int drawMode, size_t inputVerts)
        
        The number of vertices expected to be captured. If the drawMode
        setter is used, PrimitiveMode will also be set appropriately. For
        the single argument version set function, set the exact number of
        vertices expected to be emitted, accounting for primitive
        expansion (e.g. triangle strips -> triangle strips). The two
        argument setter is for convenience. Given the number of vertices
        used as input to a draw command and the draw mode, it will
        calculate the total number of vertices.
        """
        pass

    def SetPrimitiveMode(self, _arg): # real signature unknown; restored from __doc__
        """
        SetPrimitiveMode(self, _arg:int) -> None
        C++: virtual void SetPrimitiveMode(int _arg)
        
        The type of primitive to capture. Must be one of GL_POINTS,
        GL_LINES, or GL_TRIANGLES. Default is GL_POINTS. Must be set
        prior to calling BindBuffer.
        """
        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."""


    Color_RGBA_F = 1
    Next_Buffer = 3
    Normal_F = 2
    VaryingRole = None # (!) real value is "<class 'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback.VaryingRole'>"
    Vertex_ClipCoordinate_F = 0
    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkTransformFeedback\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'ClearVaryings\': <method \'ClearVaryings\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'AddVarying\': <method \'AddVarying\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetBytesPerVertex\': <method \'GetBytesPerVertex\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'SetNumberOfVertices\': <method \'SetNumberOfVertices\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetNumberOfVertices\': <method \'GetNumberOfVertices\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetBufferSize\': <method \'GetBufferSize\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'BindVaryings\': <method \'BindVaryings\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetBuffer\': <method \'GetBuffer\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetBufferHandle\': <method \'GetBufferHandle\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'SetPrimitiveMode\': <method \'SetPrimitiveMode\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetPrimitiveMode\': <method \'GetPrimitiveMode\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'Allocate\': <method \'Allocate\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'BindBuffer\': <method \'BindBuffer\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'ReadBuffer\': <method \'ReadBuffer\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'GetBufferData\': <method \'GetBufferData\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'ReleaseGraphicsResources\': <method \'ReleaseGraphicsResources\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'ReleaseBufferData\': <method \'ReleaseBufferData\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'VaryingRole\': <class \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback.VaryingRole\'>, \'Vertex_ClipCoordinate_F\': 0, \'Color_RGBA_F\': 1, \'Normal_F\': 2, \'Next_Buffer\': 3, \'__new__\': <built-in method __new__ of type object at 0x00007FF820607C50>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkRenderingOpenGL2.vtkTransformFeedback\' objects>, \'__doc__\': "vtkTransformFeedback - Manages a TransformFeedback buffer.\\n\\nSuperclass: vtkObject\\n\\nOpenGL\'s TransformFeedback allows varying attributes from a\\nvertex/geometry shader to be captured into a buffer for later\\nprocessing. This is used in VTK to capture vertex information during\\nGL2PS export when using the OpenGL2 backend as a replacement for the\\ndeprecated OpenGL feedback buffer.\\n\\n"})'
    __vtkname__ = 'vtkTransformFeedback'


