38#ifndef _SO_GL_VBO_ELEMENT_
39#define _SO_GL_VBO_ELEMENT_
#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.
SoElement()
Constructor; use typeId.createInstance to create 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.
SoVBO is used to manage OpenGL vertex buffer objects.