Stores the current texture coordinates. More...
#include <Inventor/elements/SoTextureCoordinateElement.h>
Classes | |
struct | SoTexCoordData |
class | TexGenEvaluator |
Class that TextureCoordinateFunction nodes register to compute texture coordinates. | |
Public Types | |
enum | CoordType { EXPLICIT = 1, FUNCTION = 2 } |
Public Member Functions | |
virtual CoordType | getType (int unit=0) const |
const SbVec4f & | get (const SbVec3f &point, const SbVec3f &normal, int unit=0) const |
int32_t | getNum (int unit=0) const |
SbBool | is2D (int unit=0) const |
SbBool | isForceSending (int unit=0) const |
const SbVec2f & | get2 (int index, int unit=0) const |
const SbVec4f & | get4 (int index, int unit=0) const |
virtual void | print (FILE *fp) const |
virtual void | push (SoState *) |
Static Public Member Functions | |
static SoType | getClassTypeId () |
static int | getClassStackIndex () |
static void | setDefault (SoState *state, SoNode *node) |
static void | setFunction (SoState *state, SoNode *node, SoTextureCoordinateFunctionCB *func, void *userData, SbBool frcSend=FALSE) |
static void | set2 (SoState *state, SoNode *node, int32_t numCoords, const SbVec2f *coords, SbBool frcSend=FALSE) |
static void | set4 (SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords, SbBool frcSend=FALSE) |
static CoordType | getType (SoState *state, int unit=0) |
static const SoTextureCoordinateElement * | getInstance (SoState *state) |
Stores the current texture coordinates.
This element stores the current texture coordinates.
const SbVec4f& SoTextureCoordinateElement::get | ( | const SbVec3f & | point, | |
const SbVec3f & | normal, | |||
int | unit = 0 | |||
) | 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, | |
int | unit = 0 | |||
) | const |
Returns the indexed coordinate from an element as a 2- or 4-vector, converting if necessary.
const SbVec4f& SoTextureCoordinateElement::get4 | ( | int | index, | |
int | unit = 0 | |||
) | const |
static int SoTextureCoordinateElement::getClassStackIndex | ( | ) | [static] |
Returns the stack id for this element.
Reimplemented from SoReplacedTextureElement.
static SoType SoTextureCoordinateElement::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoReplacedTextureElement.
static const SoTextureCoordinateElement* SoTextureCoordinateElement::getInstance | ( | SoState * | state | ) | [static] |
Returns the top (current) instance of the element in the state.
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.
int32_t SoTextureCoordinateElement::getNum | ( | int | unit = 0 |
) | const |
Returns the number of coordinate points in an instance.
virtual CoordType SoTextureCoordinateElement::getType | ( | int | unit = 0 |
) | const [virtual] |
Returns code indicating what has been set in state/element.
SbBool SoTextureCoordinateElement::is2D | ( | int | unit = 0 |
) | const |
SbBool SoTextureCoordinateElement::isForceSending | ( | int | unit = 0 |
) | const |
virtual void SoTextureCoordinateElement::print | ( | FILE * | fp | ) | const [virtual] |
Prints element (for debugging).
Reimplemented from SoReplacedTextureElement.
virtual void SoTextureCoordinateElement::push | ( | SoState * | ) | [virtual] |
Overrides push() method to copy values from next instance in the stack.
Reimplemented from SoReplacedTextureElement.
static void SoTextureCoordinateElement::set2 | ( | SoState * | state, | |
SoNode * | node, | |||
int32_t | numCoords, | |||
const SbVec2f * | coords, | |||
SbBool | frcSend = FALSE | |||
) | [static] |
static void SoTextureCoordinateElement::set4 | ( | SoState * | state, | |
SoNode * | node, | |||
int32_t | numCoords, | |||
const SbVec4f * | coords, | |||
SbBool | frcSend = FALSE | |||
) | [static] |
Sets the current texture coordinates, in any of several ways: EXPLICIT, no coordinates (shapes will generate).
static void SoTextureCoordinateElement::setFunction | ( | SoState * | state, | |
SoNode * | node, | |||
SoTextureCoordinateFunctionCB * | func, | |||
void * | userData, | |||
SbBool | frcSend = FALSE | |||
) | [static] |