55#ifndef _SO_PROFILE_COORDINATE_ELEMENT
56#define _SO_PROFILE_COORDINATE_ELEMENT
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_ELEMENT_HEADER(className)
This one is for non-abstract element classes.
Abstract base class for all database nodes.
Element storing the current profile coordinates, as either 2-D or 3-D points.
const SbVec3f & get3(int index) const
static void set3(SoState *state, SoNode *node, int32_t numCoords, const SbVec3f *coords)
static SbVec3f getDefault3()
virtual void init(SoState *state)
Initializes element.
bool is2D() const
TRUE if set2() was called.
virtual ~SoProfileCoordinateElement()
static void set2(SoState *state, SoNode *node, int32_t numCoords, const SbVec2f *coords)
Sets the current profile coordinates.
int32_t getNum() const
Returns the number of coordinate points in an instance.
static void initClass()
Initializes the SoCoordinateElement class.
static SbVec2f getDefault2()
Returns the default profile coordinate.
const SbVec2f & get2(int index) const
Returns the indexed coordinate from an element as a 2- or 3-vector, converting if necessary.
virtual void print(FILE *fp) const
Prints element (for debugging)
static const SoProfileCoordinateElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
This is the abstract base class for each state element whose value is replaced whenever it is set.