Stores the current gltexture coordinates. More...
#include <Inventor/elements/SoGLTextureCoordinateElement.h>
Classes | |
struct | SoTexGenData |
Public Member Functions | |
virtual CoordType | getType (int unit=0) const |
void | send (int index, int unit=0) const |
virtual void | push (SoState *state) |
virtual void | pop (SoState *state, const SoElement *prevTopElement) |
Static Public Member Functions | |
static SoType | getClassTypeId () |
static int | getClassStackIndex () |
static void | setTexGen (SoState *state, SoNode *node, SoTexCoordTexgenCB *texGenFunc, void *texGenData=NULL, SoTextureCoordinateFunctionCB *func=NULL, void *funcData=NULL, SbBool useR=FALSE, SbBool useQ=FALSE) |
static const SoGLTextureCoordinateElement * | getInstance (SoState *state) |
Stores the current gltexture coordinates.
This element stores the current gltexture coordinates. The TextureCoordinateFunction nodes that use the GL texgen function to generate texture coordinates must register a callback that makes the appropriate GL calls with the element so pop() can reset the GL state back to what it should be. The TextureCoordinateFunction nodes that can't use the GL texgen function must register a NULL callback, in which case the element will disable the GL's automatic texture coordinate generation.
NOTE: This class does not exist in Open Inventor 10.0 and later.static int SoGLTextureCoordinateElement::getClassStackIndex | ( | ) | [static] |
Returns the stack id for this element.
Reimplemented from SoTextureCoordinateElement.
static SoType SoGLTextureCoordinateElement::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoTextureCoordinateElement.
static const SoGLTextureCoordinateElement* SoGLTextureCoordinateElement::getInstance | ( | SoState * | state | ) | [static] |
Returns the top (current) instance of the element in the state.
The send 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 from SoTextureCoordinateElement.
virtual CoordType SoGLTextureCoordinateElement::getType | ( | int | unit = 0 |
) | const [virtual] |
Returns code indicating what has been set in state/element.
Reimplemented from SoTextureCoordinateElement.
virtual void SoGLTextureCoordinateElement::pop | ( | SoState * | state, | |
const SoElement * | prevTopElement | |||
) | [virtual] |
Override pop() method to maintain GL state.
virtual void SoGLTextureCoordinateElement::push | ( | SoState * | state | ) | [virtual] |
Override push() method to set up new instance.
Reimplemented from SoTextureCoordinateElement.
void SoGLTextureCoordinateElement::send | ( | int | index, | |
int | unit = 0 | |||
) | const |
Send routine for EXPLICIT case.
static void SoGLTextureCoordinateElement::setTexGen | ( | SoState * | state, | |
SoNode * | node, | |||
SoTexCoordTexgenCB * | texGenFunc, | |||
void * | texGenData = NULL , |
|||
SoTextureCoordinateFunctionCB * | func = NULL , |
|||
void * | funcData = NULL , |
|||
SbBool | useR = FALSE , |
|||
SbBool | useQ = FALSE | |||
) | [static] |
TextureCoordinateFunction nodes that use texgen must define and register a callback that makes the appropriate GL calls.
TextureCoordinateFunction nodes that don't use texgen must register a NULL callback to turn off texgen. The texGen arguments point to a function that will issue GL TexGen calls; the func arguments must point to a static function that will return the results of the texgen function (needed because some nodes render by using their generatePrimitives method).