Open Inventor Reference
SoTextureCoordinateElement Class Reference

Element storing the current texture coordinates. More...

#include <Inventor/elements/SoTextureCoordinateElement.h>

Inheritance diagram for SoTextureCoordinateElement:
SoReplacedElement SoElement SoGLTextureCoordinateElement

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

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.
 

Protected Attributes

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
 

Additional Inherited Members

- 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.
 
- Static Protected Attributes inherited from SoElement
static int classStackIndex
 Stack index for SoElement class.
 

Detailed Description

Definition at line 89 of file SoTextureCoordinateElement.h.

Member Enumeration Documentation

◆ CoordType

Enumerator
EXPLICIT 

Coordinates stored in state.

FUNCTION 

Coordinates generated by software function.

Definition at line 96 of file SoTextureCoordinateElement.h.

Constructor & Destructor Documentation

◆ ~SoTextureCoordinateElement()

virtual SoTextureCoordinateElement::~SoTextureCoordinateElement ( )
protectedvirtual

Member Function Documentation

◆ get()

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

◆ get2()

const SbVec2f & SoTextureCoordinateElement::get2 ( int  index) const

◆ get4()

const SbVec4f & SoTextureCoordinateElement::get4 ( int  index) const

◆ getInstance()

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.

◆ getNum()

int32_t SoTextureCoordinateElement::getNum ( ) const
inline

Returns the number of coordinate points in an instance.

Definition at line 138 of file SoTextureCoordinateElement.h.

◆ getType() [1/2]

virtual CoordType SoTextureCoordinateElement::getType ( ) const
virtual

Reimplemented in SoGLTextureCoordinateElement.

◆ getType() [2/2]

static CoordType SoTextureCoordinateElement::getType ( SoState state)
static

◆ init()

virtual void SoTextureCoordinateElement::init ( SoState state)
virtual

Reimplemented from SoReplacedElement.

Reimplemented in SoGLTextureCoordinateElement.

◆ initClass()

static void SoTextureCoordinateElement::initClass ( )
static

◆ is2D()

bool SoTextureCoordinateElement::is2D ( ) const
inline

Definition at line 140 of file SoTextureCoordinateElement.h.

◆ print()

virtual void SoTextureCoordinateElement::print ( FILE *  fp) const
virtual

Reimplemented from SoReplacedElement.

◆ set2()

static void SoTextureCoordinateElement::set2 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec2f coords 
)
static

◆ set4()

static void SoTextureCoordinateElement::set4 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec4f coords 
)
static

◆ setDefault()

static void SoTextureCoordinateElement::setDefault ( SoState state,
SoNode node 
)
static

◆ setFunction()

static void SoTextureCoordinateElement::setFunction ( SoState state,
SoNode node,
SoTextureCoordinateFunctionCB func,
void *  userData 
)
static

Member Data Documentation

◆ coords2

const SbVec2f* SoTextureCoordinateElement::coords2
protected

Definition at line 163 of file SoTextureCoordinateElement.h.

◆ coords4

const SbVec4f* SoTextureCoordinateElement::coords4
protected

Definition at line 164 of file SoTextureCoordinateElement.h.

◆ coordsAre2D

bool SoTextureCoordinateElement::coordsAre2D
protected

Definition at line 165 of file SoTextureCoordinateElement.h.

◆ funcCB

SoTextureCoordinateFunctionCB* SoTextureCoordinateElement::funcCB
protected

Definition at line 158 of file SoTextureCoordinateElement.h.

◆ funcCBData

void* SoTextureCoordinateElement::funcCBData
protected

Definition at line 159 of file SoTextureCoordinateElement.h.

◆ numCoords

int32_t SoTextureCoordinateElement::numCoords
protected

Definition at line 162 of file SoTextureCoordinateElement.h.

◆ whatKind

CoordType SoTextureCoordinateElement::whatKind
protected

Definition at line 155 of file SoTextureCoordinateElement.h.


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