Open Inventor Reference
SoGLMaterialIndexElement Class Reference

Element that stores the indices into the current GL material map of the ambient, diffuse, and specular components of the current surface material, as defined by GL's color index lighting model. More...

#include <Inventor/elements/SoGLMaterialIndexElement.h>

Inheritance diagram for SoGLMaterialIndexElement:
SoReplacedElement SoElement

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
int32_t getNum () const
 Returns the number of indices in an instance.
 
int32_t getAmbient (int index) const
 Returns the indexed indices from an element.
 
int32_t getDiffuse (int index) const
 
int32_t getSpecular (int index) const
 
virtual void push (SoState *state)
 Override push() and pop() methods to maintain GL state.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual SbBool matches (const SoElement *elt) const
 Override matches() to return TRUE only if node-id's match AND last values sent to GL match.
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
void send (int index) const
 Sends indexed values to GL.
 
- Public Member Functions inherited from SoReplacedElement
virtual void init (SoState *state)
 Initializes node id in element.
 
virtual bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
SbNodeIdType getNodeId () const
 Return nodeId.
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual bool matches (const SoElement *elt) const =0
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
virtual SoElementcopyMatchInfo () const =0
 Create a copy that we can put in a cache used list and call matches() on later.
 
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 void set (SoState *state, SoNode *node, int32_t numIndices, const int32_t *ambientIndices, const int32_t *diffuseIndices, const int32_t *specularIndices)
 Sets the current material indices.
 
static const SoGLMaterialIndexElementgetInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
 
static int32_t getDefaultAmbient ()
 Returns the default indices.
 
static int32_t getDefaultDiffuse ()
 
static int32_t getDefaultSpecular ()
 
static void initClass ()
 Initializes the SoGLMaterialIndexElement class.
 
- Static Public Member Functions inherited from SoReplacedElement
static void initClass ()
 Initializes the SoReplacedElement 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 ~SoGLMaterialIndexElement ()
 
- Protected Member Functions inherited from SoReplacedElement
virtual ~SoReplacedElement ()
 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.
 

Protected Attributes

int32_t numIndices
 
const int32_tambientIndices
 
const int32_tdiffuseIndices
 
const int32_tspecularIndices
 
- Protected Attributes inherited from SoReplacedElement
SbNodeIdType nodeId
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoReplacedElement
static SoElementgetElement (SoState *state, int stackIndex, SoNode *node)
 Overrides SoElement::getElement() to set the nodeId in the element instance before returning it.
 
- 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

This class allows read-only access to the top element in the state to make accessing several values in it more efficient. Individual values must be accessed through this instance.

Definition at line 75 of file SoGLMaterialIndexElement.h.

Constructor & Destructor Documentation

◆ ~SoGLMaterialIndexElement()

virtual SoGLMaterialIndexElement::~SoGLMaterialIndexElement ( )
protectedvirtual

Member Function Documentation

◆ copyMatchInfo()

virtual SoElement * SoGLMaterialIndexElement::copyMatchInfo ( ) const
virtual

Reimplemented from SoReplacedElement.

◆ getAmbient()

int32_t SoGLMaterialIndexElement::getAmbient ( int  index) const

◆ getDefaultAmbient()

static int32_t SoGLMaterialIndexElement::getDefaultAmbient ( )
inlinestatic

Definition at line 104 of file SoGLMaterialIndexElement.h.

◆ getDefaultDiffuse()

static int32_t SoGLMaterialIndexElement::getDefaultDiffuse ( )
inlinestatic

Definition at line 105 of file SoGLMaterialIndexElement.h.

◆ getDefaultSpecular()

static int32_t SoGLMaterialIndexElement::getDefaultSpecular ( )
inlinestatic

Definition at line 106 of file SoGLMaterialIndexElement.h.

◆ getDiffuse()

int32_t SoGLMaterialIndexElement::getDiffuse ( int  index) const

◆ getInstance()

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

◆ getNum()

int32_t SoGLMaterialIndexElement::getNum ( ) const
inline

Definition at line 96 of file SoGLMaterialIndexElement.h.

◆ getSpecular()

int32_t SoGLMaterialIndexElement::getSpecular ( int  index) const

◆ init()

virtual void SoGLMaterialIndexElement::init ( SoState state)
virtual

Reimplemented from SoReplacedElement.

◆ initClass()

static void SoGLMaterialIndexElement::initClass ( )
static

◆ matches()

virtual SbBool SoGLMaterialIndexElement::matches ( const SoElement elt) const
virtual

Reimplemented from SoReplacedElement.

◆ pop()

virtual void SoGLMaterialIndexElement::pop ( SoState state,
const SoElement prevTopElement 
)
virtual

Reimplemented from SoElement.

◆ print()

virtual void SoGLMaterialIndexElement::print ( FILE *  fp) const
virtual

Reimplemented from SoReplacedElement.

◆ push()

virtual void SoGLMaterialIndexElement::push ( SoState state)
virtual

Reimplemented from SoElement.

◆ send()

void SoGLMaterialIndexElement::send ( int  index) const

◆ set()

static void SoGLMaterialIndexElement::set ( SoState state,
SoNode node,
int32_t  numIndices,
const int32_t ambientIndices,
const int32_t diffuseIndices,
const int32_t specularIndices 
)
static

Note that the given number of indices must be valid for the ambient, diffuse, and specular components.

Member Data Documentation

◆ ambientIndices

const int32_t* SoGLMaterialIndexElement::ambientIndices
protected

Definition at line 131 of file SoGLMaterialIndexElement.h.

◆ diffuseIndices

const int32_t * SoGLMaterialIndexElement::diffuseIndices
protected

Definition at line 131 of file SoGLMaterialIndexElement.h.

◆ numIndices

int32_t SoGLMaterialIndexElement::numIndices
protected

Definition at line 130 of file SoGLMaterialIndexElement.h.

◆ specularIndices

const int32_t * SoGLMaterialIndexElement::specularIndices
protected

Definition at line 131 of file SoGLMaterialIndexElement.h.


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