Open Inventor Reference
SoGLTextureCoordinateElement Class Reference

Element storing the current gltexture coordinates. More...

#include <Inventor/elements/SoGLTextureCoordinateElement.h>

Inheritance diagram for SoGLTextureCoordinateElement:
SoTextureCoordinateElement SoReplacedElement SoElement

Public Member Functions

virtual void init (SoState *state)
 Initializes element.
 
virtual CoordType getType () const
 Returns code indicating what has been set in state/element.
 
void send (int index) const
 Send routine for EXPLICIT case:
 
virtual void push (SoState *state)
 Override push() method to set up new instance.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 Override pop() method to maintain GL state.
 
- Public Member Functions inherited from SoTextureCoordinateElement
virtual void init (SoState *state)
 Initializes element.
 
virtual CoordType getType () const
 
const SbVec4fget (const SbVec3f &point, const SbVec3f &normal) const
 Get routine for FUNCTION case:
 
int32_t getNum () const
 Get routines for EXPLICIT case:
 
bool is2D () const
 
const SbVec2fget2 (int index) const
 Returns the indexed coordinate from an element as a 2- or 4-vector, converting if necessary.
 
const SbVec4fget4 (int index) const
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
- Public Member Functions inherited from SoReplacedElement
virtual void init (SoState *state)
 Initializes node id in element.
 
virtual bool matches (const SoElement *elt) const
 Returns TRUE if the element matches another element, based on node-id.
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual SoElementcopyMatchInfo () const
 Create and return a copy of this element.
 
SbNodeIdType getNodeId () const
 Return nodeId.
 
- Public Member Functions inherited from SoElement
virtual void init (SoState *state)
 Initializes element.
 
virtual void push (SoState *state)
 Pushes/pops element.
 
virtual void pop (SoState *state, const SoElement *prevTopElement)
 
virtual void print (FILE *fp) const
 Prints element (for debugging)
 
virtual bool matches (const SoElement *elt) const =0
 Returns TRUE if the element matches another element (of the same class, presumably) with respect to cache validity.
 
virtual SoElementcopyMatchInfo () const =0
 Create a copy that we can put in a cache used list and call matches() on later.
 
SoType getTypeId () const
 Returns type identifier for element instance.
 
int getStackIndex () const
 Returns the stack index for an element instance.
 
void setDepth (int dpth)
 Sets stuff in an element instance.
 
void setNext (SoElement *nxt)
 
void setNextInStack (SoElement *nxt)
 
void setNextFree (SoElement *nxt)
 
int getDepth () const
 Returns stuff from element instance.
 
SoElementgetNext () const
 
virtual ~SoElement ()
 Destructor.
 

Static Public Member Functions

static void setTexGen (SoState *state, SoNode *node, SoTexCoordTexgenCB *texGenFunc, void *texGenData=NULL, SoTextureCoordinateFunctionCB *func=NULL, void *funcData=NULL)
 TextureCoordinateFunction nodes that use texgen must define and register a callback that makes the appropriate GL calls.
 
static const SoGLTextureCoordinateElementgetInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
 
static void initClass ()
 Initializes the SoGLTextureCoordinateElement class.
 
- Static Public Member Functions inherited from SoTextureCoordinateElement
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 SoTextureCoordinateElementgetInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
 
static void initClass ()
 Initializes the SoTextureCoordinateElement class.
 
- Static Public Member Functions inherited from SoReplacedElement
static void initClass ()
 Initializes the SoReplacedElement class.
 
- Static Public Member Functions inherited from SoElement
static SoType getClassTypeId ()
 Returns type identifier for SoElement class.
 
static void initElements ()
 Initialize ALL Inventor element classes.
 
static void initClass ()
 Initializes the SoElement class.
 
static int getNumStackIndices ()
 Returns the number of stack indices allocated.
 
static SoType getIdFromStackIndex (int stackIndex)
 Returns the id for the element with the given stack index.
 

Protected Member Functions

void setElt (SoTexCoordTexgenCB *function, void *userData=NULL)
 
virtual ~SoGLTextureCoordinateElement ()
 
- Protected Member Functions inherited from SoTextureCoordinateElement
virtual ~SoTextureCoordinateElement ()
 
- Protected Member Functions inherited from SoReplacedElement
virtual ~SoReplacedElement ()
 Destructor.
 
- Protected Member Functions inherited from SoElement
 SoElement ()
 Constructor; use typeId.createInstance to create elements.
 
void capture (SoState *state) const
 Does whatever is necessary in state to capture this element for caching purposes.
 
virtual void captureThis (SoState *state) const
 Really captures this element, once it has been determined that a cache is open to capture it.
 
void setTypeId (SoType id)
 Sets typeId in instance.
 
void setStackIndex (int index)
 Sets stackIndex in instance.
 
SoElementgetNextInStack () const
 Returns next instance in specific element stack.
 
SoElementgetNextFree () const
 Returns next free element in a specific element stack.
 

Additional Inherited Members

- Public Types inherited from SoTextureCoordinateElement
enum  CoordType { EXPLICIT = 1 , FUNCTION = 2 }
 The (seemingly random) choice of values is for compatibility with Inventor 2.0 binary format files: More...
 
- Static Protected Member Functions inherited from SoReplacedElement
static SoElementgetElement (SoState *state, int stackIndex, SoNode *node)
 Overrides SoElement::getElement() to set the nodeId in the element instance before returning it.
 
- Static Protected Member Functions inherited from SoElement
static SoElementgetElement (SoState *state, int stackIndex)
 Returns an instance of an element from the stack with the given index in the given state.
 
static const SoElementgetConstElement (SoState *state, int stackIndex)
 Returns a read-only pointer to the top instance in the given element stack.
 
static int createStackIndex (SoType id)
 Creates and returns a new stack index.
 
- Protected Attributes inherited from SoTextureCoordinateElement
CoordType whatKind
 What kind of coordinates will be done:
 
SoTextureCoordinateFunctionCBfuncCB
 Storage for FUNCTION:
 
void * funcCBData
 
int32_t numCoords
 Storage for EXPLICIT:
 
const SbVec2fcoords2
 
const SbVec4fcoords4
 
bool coordsAre2D
 
- Protected Attributes inherited from SoReplacedElement
SbNodeIdType nodeId
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Definition at line 85 of file SoGLTextureCoordinateElement.h.

Constructor & Destructor Documentation

◆ ~SoGLTextureCoordinateElement()

virtual SoGLTextureCoordinateElement::~SoGLTextureCoordinateElement ( )
protectedvirtual

Member Function Documentation

◆ getInstance()

static const SoGLTextureCoordinateElement * SoGLTextureCoordinateElement::getInstance ( SoState state)
static

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.

◆ getType()

virtual CoordType SoGLTextureCoordinateElement::getType ( ) const
virtual

Reimplemented from SoTextureCoordinateElement.

◆ init()

virtual void SoGLTextureCoordinateElement::init ( SoState state)
virtual

Reimplemented from SoTextureCoordinateElement.

◆ initClass()

static void SoGLTextureCoordinateElement::initClass ( )
static

◆ pop()

virtual void SoGLTextureCoordinateElement::pop ( SoState state,
const SoElement prevTopElement 
)
virtual

Reimplemented from SoElement.

◆ push()

virtual void SoGLTextureCoordinateElement::push ( SoState state)
virtual

Reimplemented from SoElement.

◆ send()

void SoGLTextureCoordinateElement::send ( int  index) const

◆ setElt()

void SoGLTextureCoordinateElement::setElt ( SoTexCoordTexgenCB function,
void *  userData = NULL 
)
protected

◆ setTexGen()

static void SoGLTextureCoordinateElement::setTexGen ( SoState state,
SoNode node,
SoTexCoordTexgenCB texGenFunc,
void *  texGenData = NULL,
SoTextureCoordinateFunctionCB func = NULL,
void *  funcData = NULL 
)
static

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: