Open Inventor Reference
|
Element storing the current texture coordinates. More...
#include <Inventor/elements/SoTextureCoordinateElement.h>
Public Types | |
enum | CoordType { EXPLICIT = 1, FUNCTION = 2 } |
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 CoordType | getType () const |
const SbVec4f & | get (const SbVec3f &point, const SbVec3f &normal) const |
Get routine for FUNCTION case: | |
int32_t | getNum () const |
Get routines for EXPLICIT case: | |
SbBool | is2D () const |
const SbVec2f & | get2 (int index) const |
Returns the indexed coordinate from an element as a 2- or 4-vector, converting if necessary. | |
const SbVec4f & | get4 (int index) const |
virtual void | print (FILE *fp) const |
Prints element (for debugging) | |
Static Public Member Functions | |
static void | setDefault (SoState *state, SoNode *node) |
Sets the current texture coordinates, in any of several ways: EXPLICIT, no coordinates (shapes will generate): | |
static void | setFunction (SoState *state, SoNode *node, SoTextureCoordinateFunctionCB *func, void *userData) |
FUNCTION: | |
static void | set2 (SoState *state, SoNode *node, int32_t numCoords, const SbVec2f *coords) |
EXPLICIT: | |
static void | set4 (SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords) |
static CoordType | getType (SoState *state) |
Returns code indicating what has been set in state/element. | |
static const SoTextureCoordinateElement * | getInstance (SoState *state) |
Returns the top (current) instance of the element in the state. | |
static void | initClass () |
Initializes the SoTextureCoordinateElement class. | |
Protected Member Functions | |
virtual | ~SoTextureCoordinateElement () |
Protected Attributes | |
CoordType | whatKind |
What kind of coordinates will be done: | |
SoTextureCoordinateFunctionCB * | funcCB |
Storage for FUNCTION: | |
void * | funcCBData |
int32_t | numCoords |
Storage for EXPLICIT: | |
const SbVec2f * | coords2 |
const SbVec4f * | coords4 |
SbBool | coordsAre2D |
Definition at line 89 of file SoTextureCoordinateElement.h.
EXPLICIT |
Coordinates stored in state. |
FUNCTION |
Coordinates generated by software function. |
Definition at line 96 of file SoTextureCoordinateElement.h.
virtual SoTextureCoordinateElement::~SoTextureCoordinateElement | ( | ) | [protected, virtual] |
const SbVec4f& SoTextureCoordinateElement::get | ( | const SbVec3f & | point, |
const SbVec3f & | normal | ||
) | const |
Given point and normal, returns texture coordinate. (The r coordinate will be 0.0 and the q will be 1.0 until we get 3D texture coordinate functions.)
const SbVec2f& SoTextureCoordinateElement::get2 | ( | int | index | ) | const |
const SbVec4f& SoTextureCoordinateElement::get4 | ( | int | index | ) | const |
static const SoTextureCoordinateElement* SoTextureCoordinateElement::getInstance | ( | SoState * | state | ) | [static] |
The get routines are called on an instance because it is more efficient than calling a static method that looks up the element in the state for every coordinate.
Reimplemented in SoGLTextureCoordinateElement.
int32_t SoTextureCoordinateElement::getNum | ( | ) | const [inline] |
Returns the number of coordinate points in an instance.
Definition at line 138 of file SoTextureCoordinateElement.h.
virtual CoordType SoTextureCoordinateElement::getType | ( | ) | const [virtual] |
Reimplemented in SoGLTextureCoordinateElement.
virtual void SoTextureCoordinateElement::init | ( | SoState * | state | ) | [virtual] |
Reimplemented from SoReplacedElement.
Reimplemented in SoGLTextureCoordinateElement.
static void SoTextureCoordinateElement::initClass | ( | ) | [static] |
Reimplemented from SoReplacedElement.
Reimplemented in SoGLTextureCoordinateElement.
SbBool SoTextureCoordinateElement::is2D | ( | ) | const [inline] |
Definition at line 140 of file SoTextureCoordinateElement.h.
virtual void SoTextureCoordinateElement::print | ( | FILE * | fp | ) | const [virtual] |
Reimplemented from SoReplacedElement.
static void SoTextureCoordinateElement::set2 | ( | SoState * | state, |
SoNode * | node, | ||
int32_t | numCoords, | ||
const SbVec2f * | coords | ||
) | [static] |
static void SoTextureCoordinateElement::set4 | ( | SoState * | state, |
SoNode * | node, | ||
int32_t | numCoords, | ||
const SbVec4f * | coords | ||
) | [static] |
static void SoTextureCoordinateElement::setFunction | ( | SoState * | state, |
SoNode * | node, | ||
SoTextureCoordinateFunctionCB * | func, | ||
void * | userData | ||
) | [static] |
const SbVec2f* SoTextureCoordinateElement::coords2 [protected] |
Definition at line 163 of file SoTextureCoordinateElement.h.
const SbVec4f* SoTextureCoordinateElement::coords4 [protected] |
Definition at line 164 of file SoTextureCoordinateElement.h.
SbBool SoTextureCoordinateElement::coordsAre2D [protected] |
Definition at line 165 of file SoTextureCoordinateElement.h.
Definition at line 158 of file SoTextureCoordinateElement.h.
void* SoTextureCoordinateElement::funcCBData [protected] |
Definition at line 159 of file SoTextureCoordinateElement.h.
int32_t SoTextureCoordinateElement::numCoords [protected] |
Definition at line 162 of file SoTextureCoordinateElement.h.
CoordType SoTextureCoordinateElement::whatKind [protected] |
Definition at line 155 of file SoTextureCoordinateElement.h.