Open Inventor Reference
SoMaterialBindingElement Class Reference

Element that stores the current material binding. More...

#include <Inventor/elements/SoMaterialBindingElement.h>

Inheritance diagram for SoMaterialBindingElement:
SoInt32Element SoElement

Public Types

enum  Binding {
  OVERALL = 2 , PER_PART = 3 , PER_PART_INDEXED = 4 , PER_FACE = 5 ,
  PER_FACE_INDEXED = 6 , PER_VERTEX = 7 , PER_VERTEX_INDEXED = 8 , DEFAULT = OVERALL ,
  NONE = OVERALL
}
 The (seemingly random) choice of values is for compatibility with Inventor 2.0 binary format files: More...
 

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoInt32Element
virtual bool matches (const SoElement *elt) const
 Comparison based on value of int32_ts.
 
virtual SoElementcopyMatchInfo () const
 Copy method, takes care copying the data.
 
virtual void setElt (int32_t value)
 Virtual set that subclasses can override to implement side-effect behaviors.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- 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, Binding binding)
 Sets the current material binding in the state.
 
static void set (SoState *state, SoNode *, Binding binding)
 
static Binding get (SoState *state)
 Returns current material binding from the state.
 
static Binding getDefault ()
 Returns the default material binding.
 
static void initClass ()
 Initializes the SoMaterialBindingElement class.
 
- Static Public Member Functions inherited from SoInt32Element
static void initClass ()
 Initializes the SoInt32Element class.
 
static void set (int stackIndex, SoState *state, int32_t value)
 Set value.
 
static void set (int stackIndex, SoState *state, SoNode *, int32_t value)
 
static void set (int stackIndex, SoState *state, SoNode *, long value)
 
static int32_t get (int stackIndex, SoState *state)
 Get value.
 
- 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 ~SoMaterialBindingElement ()
 
- Protected Member Functions inherited from SoInt32Element
virtual ~SoInt32Element ()
 
- 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.
 
- Protected Attributes inherited from SoInt32Element
int32_t data
 Storage for data.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Definition at line 69 of file SoMaterialBindingElement.h.

Member Enumeration Documentation

◆ Binding

Enumerator
OVERALL 

Whole object has same material.

PER_PART 

One material for each part of object.

PER_PART_INDEXED 

One material for each part, indexed.

PER_FACE 

One material for each face of object.

PER_FACE_INDEXED 

One material for each face, indexed.

PER_VERTEX 

One material for each vertex.

PER_VERTEX_INDEXED 

One material for each vertex, indexed.

Comma to continue list

DEFAULT 
NONE 

Definition at line 76 of file SoMaterialBindingElement.h.

Constructor & Destructor Documentation

◆ ~SoMaterialBindingElement()

virtual SoMaterialBindingElement::~SoMaterialBindingElement ( )
protectedvirtual

Member Function Documentation

◆ get()

static Binding SoMaterialBindingElement::get ( SoState state)
inlinestatic

Definition at line 107 of file SoMaterialBindingElement.h.

References SoInt32Element::get().

◆ getDefault()

static Binding SoMaterialBindingElement::getDefault ( )
inlinestatic

Definition at line 111 of file SoMaterialBindingElement.h.

◆ init()

virtual void SoMaterialBindingElement::init ( SoState state)
virtual

Reimplemented from SoElement.

◆ initClass()

static void SoMaterialBindingElement::initClass ( )
static

◆ print()

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

Reimplemented from SoInt32Element.

◆ set() [1/2]

static void SoMaterialBindingElement::set ( SoState state,
Binding  binding 
)
inlinestatic

Definition at line 98 of file SoMaterialBindingElement.h.

References SoInt32Element::set().

◆ set() [2/2]

static void SoMaterialBindingElement::set ( SoState state,
SoNode ,
Binding  binding 
)
inlinestatic

Definition at line 102 of file SoMaterialBindingElement.h.

References SoInt32Element::set().


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