SoGLTextureCoordinateElement Class Reference
[Elements]

Stores the current gltexture coordinates. More...

#include <Inventor/elements/SoGLTextureCoordinateElement.h>

Inheritance diagram for SoGLTextureCoordinateElement:
SoTextureCoordinateElement SoReplacedTextureElement SoElement SoTypedObject

List of all members.

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)

Detailed Description

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.

SEE ALSO

SoTextureCoordinateElement

Deprecated:

Deprecated since Open Inventor 9620
SoGLTextureCoordinateElement is no longer supported, use equivalent SoTextureCoordinateElement.

Member Function Documentation

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).


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/