Open Inventor Reference
SoGLVBOElement Class Reference

Manage the currently registered VBOs in the state (for coordinates, normals, colors and tex coords) (MeVis ONLY) More...

#include <Inventor/elements/SoGLVBOElement.h>

Inheritance diagram for SoGLVBOElement:
SoElement

Public Types

enum  VBOType {
  VERTEX_VBO = 0 , NORMAL_VBO = 1 , COLOR_VBO = 2 , TEXCOORD_VBO = 3 ,
  MAX_VBO_TYPES = 4
}
 

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *childElt)
 
SoVBOgetVBO (VBOType type) const
 get a vbo
 
bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
SoElementcopyMatchInfo () const
 Create a copy that we can put in a cache used list and call matches() on later.
 
- Public Member Functions inherited from SoElement
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
SoType getTypeId () const
 Returns type identifier for element instance.
 
int getStackIndex () const
 Returns the stack index for an element instance.
 
void setDepth (int dpth)
 Sets stuff in an element instance.
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static const SoGLVBOElementgetInstance (SoState *state)
 get const instance
 
static void unsetVBO (SoState *state, VBOType type)
 remove the given VBO from element
 
static void unsetVBOIfEnabled (SoState *state, VBOType type)
 remove the given VBO from element if the element is enabled in state.
 
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 void initClass ()
 Initializes the SoGLVBOElement class.
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class.
 
static void initElements ()
 Initialize ALL Inventor element classes.
 
static void initClass ()
 Initializes the SoElement class.
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated.
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index.
 

Protected Member Functions

virtual ~SoGLVBOElement ()
 Destructor.
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements.
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes.
 
virtual void captureThis (SoState *state) const
 Really captures this element, once it has been determined that a cache is open to capture it.
 
void setTypeId (SoType id)
 Sets typeId in instance.
 
void setStackIndex (int index)
 Sets stackIndex in instance.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state.
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack.
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Definition at line 48 of file SoGLVBOElement.h.

Member Enumeration Documentation

◆ VBOType

Enumerator
VERTEX_VBO 
NORMAL_VBO 
COLOR_VBO 
TEXCOORD_VBO 
MAX_VBO_TYPES 

Definition at line 55 of file SoGLVBOElement.h.

Constructor & Destructor Documentation

◆ ~SoGLVBOElement()

virtual SoGLVBOElement::~SoGLVBOElement ( )
protectedvirtual

References SoINTERNAL.

Member Function Documentation

◆ copyMatchInfo()

SoElement * SoGLVBOElement::copyMatchInfo ( ) const
virtual

Implements SoElement.

References SoElement::SoElement().

◆ getInstance()

static const SoGLVBOElement * SoGLVBOElement::getInstance ( SoState * state)
static

References SoElement::SoState.

◆ getVBO()

SoVBO * SoGLVBOElement::getVBO ( VBOType type) const

◆ init()

virtual void SoGLVBOElement::init ( SoState * state)
virtual

Called for first element of its kind in stack. Default method does nothing.

Reimplemented from SoElement.

References SoElement::SoState.

◆ initClass()

static void SoGLVBOElement::initClass ( )
static

References MAX_VBO_TYPES.

◆ matches()

bool SoGLVBOElement::matches ( const SoElement * elt) const
virtual

If you write a matches() method, you must also write a copy() method.

Implements SoElement.

References SoElement::SoElement().

◆ pop()

virtual void SoGLVBOElement::pop ( SoState * state,
const SoElement * childElt )
virtual

Reimplemented from SoElement.

References SoElement::SoElement(), and SoElement::SoState.

◆ push()

virtual void SoGLVBOElement::push ( SoState * state)
virtual

Allows for side effects to occur. Default methods do nothing.

Reimplemented from SoElement.

References SoElement::SoState.

◆ unsetVBO()

static void SoGLVBOElement::unsetVBO ( SoState * state,
VBOType type )
static

References SoElement::SoState.

◆ unsetVBOIfEnabled()

static void SoGLVBOElement::unsetVBOIfEnabled ( SoState * state,
VBOType type )
static

References SoElement::SoState.

◆ updateVBO()

static void SoGLVBOElement::updateVBO ( SoState * state,
VBOType type,
SoVBO ** vbo,
int numBytes = 0,
const void * data = NULL,
SbNodeIdType nodeId = 0 )
static

Passing the data in is optional and may be done later on the allocated vbo. The ownership of the VBO is passed to the called.

References SoElement::SoState.


The documentation for this class was generated from the following file: