67#ifndef _SO_TEXTURE_COORDINATE_ELEMENT
68#define _SO_TEXTURE_COORDINATE_ELEMENT
140 bool is2D()
const {
return coordsAre2D; }
#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.
const SbVec4f & SoTextureCoordinateFunctionCB(void *userdata, const SbVec3f &point, const SbVec3f &normal)
Function that TextureCoordinateFunction nodes register to compute texture coordinates.
Abstract base class for all database nodes.
This is the abstract base class for each state element whose value is replaced whenever it is set.
An SoState collects and holds state while traversing a scene graph.
Element storing the current texture coordinates.
virtual void init(SoState *state)
Initializes element.
static void setFunction(SoState *state, SoNode *node, SoTextureCoordinateFunctionCB *func, void *userData)
FUNCTION:
CoordType whatKind
What kind of coordinates will be done:
virtual void print(FILE *fp) const
Prints element (for debugging)
const SbVec4f & get4(int index) const
int32_t getNum() const
Get routines for EXPLICIT case:
static void set4(SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords)
const SbVec2f & get2(int index) const
Returns the indexed coordinate from an element as a 2- or 4-vector, converting if necessary.
static void set2(SoState *state, SoNode *node, int32_t numCoords, const SbVec2f *coords)
EXPLICIT:
CoordType
The (seemingly random) choice of values is for compatibility with Inventor 2.0 binary format files:
static const SoTextureCoordinateElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
virtual ~SoTextureCoordinateElement()
virtual CoordType getType() const
static void setDefault(SoState *state, SoNode *node)
Sets the current texture coordinates, in any of several ways: EXPLICIT, no coordinates (shapes will g...
static CoordType getType(SoState *state)
Returns code indicating what has been set in state/element.
int32_t numCoords
Storage for EXPLICIT:
static void initClass()
Initializes the SoTextureCoordinateElement class.
SoTextureCoordinateFunctionCB * funcCB
Storage for FUNCTION:
const SbVec4f & get(const SbVec3f &point, const SbVec3f &normal) const
Get routine for FUNCTION case: