38#ifndef _SO_GL_VBO_ELEMENT_
39#define _SO_GL_VBO_ELEMENT_
96 SoVBO* _vbo[MAX_VBO_TYPES];
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
size_t SbNodeIdType
Type of unique ids of SoNode, used in the notification/change detection handling.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_ELEMENT_HEADER(className)
This one is for non-abstract element classes.
This is the abstract base class for all state elements.
Manage the currently registered VBOs in the state (for coordinates, normals, colors and tex coords) (...
static void unsetVBOIfEnabled(SoState *state, VBOType type)
remove the given VBO from element if the element is enabled in state.
static void initClass()
Initializes the SoGLVBOElement class.
static void unsetVBO(SoState *state, VBOType type)
remove the given VBO from element
virtual void pop(SoState *state, const SoElement *childElt)
SoVBO * getVBO(VBOType type) const
get a vbo
virtual void push(SoState *state)
Pushes/pops element.
bool matches(const SoElement *elt) const
Returns TRUE if the element matches another element (of the same class, presumably) with respect to c...
SoElement * copyMatchInfo() const
Create a copy that we can put in a cache used list and call matches() on later.
virtual void init(SoState *state)
Initializes element.
static void updateVBO(SoState *state, VBOType type, SoVBO **vbo, int numBytes=0, const void *data=NULL, SbNodeIdType nodeId=0)
creates or clear a VBO of given type.
static const SoGLVBOElement * getInstance(SoState *state)
get const instance
virtual ~SoGLVBOElement()
Destructor.
An SoState collects and holds state while traversing a scene graph.
SoVBO is used to manage OpenGL vertex buffer objects.