38#ifndef _SO_VERTEX_ARRAY_INDEXER_
39#define _SO_VERTEX_ARRAY_INDEXER_
64 void setType(GLenum type) { _type = type; }
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.
An SoState collects and holds state while traversing a scene graph.
SoVBO is used to manage OpenGL vertex buffer objects.
SoVertexArrayIndexer is a class that manages rendering of indexed primitives using Vertex Array rende...
void setIndices(int numIndices, const int32_t *indices, SbNodeIdType nodeId)
set the indices, the ownership stays with the caller and the caller has to make sure that the indices...
void setInventorTriangles(int numTriangles, const int32_t *inventorIndices, SbNodeIdType nodeId)
set the triangles from inventor (3 indices separated by -1), does an internal copy without -1
SbNodeIdType getDataId() const
get the node id of the data
void setInventorLines(int numLines, const int32_t *inventorIndices, SbNodeIdType nodeId)
set the triangles from inventor (2 indices separated by -1), does an internal copy without -1
void clear()
frees the allocated data
SoVertexArrayIndexer(GLenum type)
create vertex array indexer for given GL primitives (GL_LINES, GL_TRIANGLES, GL_QUADS,...
void setInventorQuads(int numQuads, const int32_t *inventorIndices, SbNodeIdType nodeId)
set the triangles from inventor (4 indices separated by -1), does an internal copy without -1
void render(SoState *state, bool useVbo)
render the primitives (uses a VBO if useVbo is passed in)
void setType(GLenum type)
set the type
void freeGL(SoState *state=NULL)
free the GL part of the SoVertexArrayIndexer (if state is passed, the VBO may be deleted immediately)
GLenum getType() const
get the type