Open Inventor Reference
SoCoordinateElement Class Reference

Element that stores the current coordinates. More...

#include <Inventor/elements/SoCoordinateElement.h>

Inheritance diagram for SoCoordinateElement:
SoReplacedElement SoElement SoGLCoordinateElement

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
int32_t getNum () const
 Returns the number of coordinate points in an instance.
 
bool is3D () const
 Returns TRUE if the coordinates were specified as 3-vectors, FALSE if 4-vectors.
 
const SbVec3fget3 (int index) const
 Returns the indexed coordinate from an element as a 3- or 4-vector, converting if necessary.
 
const SbVec4fget4 (int index) const
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- 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 set3 (SoState *state, SoNode *node, int32_t numCoords, const SbVec3f *coords)
 Sets the current coordinates in the state as 3-vectors or 4-vectors.
 
static void set4 (SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords)
 
static const SoCoordinateElementgetInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
 
static SbVec3f getDefault3 ()
 Returns the default 3-D or 4-D coordinate.
 
static SbVec4f getDefault4 ()
 
static void initClass ()
 Initializes the SoCoordinateElement 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 ~SoCoordinateElement ()
 
- 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 numCoords
 
const SbVec3fcoords3
 
const SbVec4fcoords4
 
bool coordsAre3D
 
- 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

Coordinates may be specified as 3-D or 4-D vectors. This element remembers the last type of value stored.

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 77 of file SoCoordinateElement.h.

Constructor & Destructor Documentation

◆ ~SoCoordinateElement()

virtual SoCoordinateElement::~SoCoordinateElement ( )
protectedvirtual

Member Function Documentation

◆ get3()

const SbVec3f & SoCoordinateElement::get3 ( int  index) const

A returned reference may be invalid after the next call to either of these methods.

◆ get4()

const SbVec4f & SoCoordinateElement::get4 ( int  index) const

◆ getDefault3()

static SbVec3f SoCoordinateElement::getDefault3 ( )
inlinestatic

Definition at line 110 of file SoCoordinateElement.h.

◆ getDefault4()

static SbVec4f SoCoordinateElement::getDefault4 ( )
inlinestatic

Definition at line 111 of file SoCoordinateElement.h.

◆ getInstance()

static const SoCoordinateElement * SoCoordinateElement::getInstance ( SoState state)
inlinestatic

Definition at line 92 of file SoCoordinateElement.h.

References SoElement::getConstElement().

◆ getNum()

int32_t SoCoordinateElement::getNum ( ) const
inline

Definition at line 97 of file SoCoordinateElement.h.

◆ init()

virtual void SoCoordinateElement::init ( SoState state)
virtual

Reimplemented from SoReplacedElement.

◆ initClass()

static void SoCoordinateElement::initClass ( )
static

◆ is3D()

bool SoCoordinateElement::is3D ( ) const
inline

Definition at line 101 of file SoCoordinateElement.h.

◆ print()

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

Reimplemented from SoReplacedElement.

◆ set3()

static void SoCoordinateElement::set3 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec3f coords 
)
static

◆ set4()

static void SoCoordinateElement::set4 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec4f coords 
)
static

Member Data Documentation

◆ coords3

const SbVec3f* SoCoordinateElement::coords3
protected

Definition at line 122 of file SoCoordinateElement.h.

◆ coords4

const SbVec4f* SoCoordinateElement::coords4
protected

Definition at line 123 of file SoCoordinateElement.h.

◆ coordsAre3D

bool SoCoordinateElement::coordsAre3D
protected

Definition at line 124 of file SoCoordinateElement.h.

◆ numCoords

int32_t SoCoordinateElement::numCoords
protected

Definition at line 121 of file SoCoordinateElement.h.


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