50#ifndef _SO_COORDINATE_ELEMENT
51#define _SO_COORDINATE_ELEMENT
53#include <Inventor/SbBasic.h>
54#include <Inventor/SbLinear.h>
55#include <Inventor/elements/SoReplacedElement.h>
86 int32_t numCoords,
const SbVec3f *coords);
92 int32_t numCoords,
const SbVec4f *coords);
98 {
return getConstElement<SoCoordinateElement>(state);}
103 int32_t
getNum()
const {
return numCoords; }
153 virtual void init(
SoState *state);
157 static void initClass();
158 static void exitClass();
161 bool isEmpty()
const;
Stores the current coordinates.
static SbVec3f getDefault3()
Returns the default 3-D coordinate.
const SbVec4f & get4(int index) const
Returns the indexed coordinate from an element as a 4-vector, converting if necessary.
const SbVec4f * getCoord4() const
Returns the array of SbVec4f without any conversion.
static const SoCoordinateElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
int32_t getNum() const
Returns the number of coordinate points in an instance.
static void set4(SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords)
Sets the current coordinates in the state as 4-vectors.
SbBool is3D() const
Returns TRUE if the coordinates were specified as 3-vectors, FALSE if 4-vectors.
virtual void print(FILE *fp) const
Prints element (for debugging).
static void set3(SoState *state, SoNode *node, int32_t numCoords, const SbVec3f *coords)
Sets the current coordinates in the state as 3-vectors.
const SbVec3f * getCoord3() const
Returns the array of SbVec3f without any conversion.
static SbVec4f getDefault4()
Returns the default 4-D coordinate.
const SbVec3f & get3(int index) const
Returns the indexed coordinate from an element as a 3-vector, converting if necessary.
Abstract base class for all database nodes.
Abstract base class for each state element whose value is replaced whenever it is set.