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

List of all members.

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:
SbBool 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)

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
SoTextureCoordinateElement
getInstance (SoState *state)
 Returns the top (current) instance of the element in the state.
static void initClass ()
 Initializes the SoTextureCoordinateElement class.

Protected Member Functions

virtual ~SoTextureCoordinateElement ()

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

Detailed Description

Definition at line 89 of file SoTextureCoordinateElement.h.


Member Enumeration Documentation

Enumerator:
EXPLICIT 

Coordinates stored in state.

FUNCTION 

Coordinates generated by software function.

Definition at line 96 of file SoTextureCoordinateElement.h.


Constructor & Destructor Documentation

virtual SoTextureCoordinateElement::~SoTextureCoordinateElement ( ) [protected, virtual]

Member Function Documentation

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

const SbVec2f& SoTextureCoordinateElement::get2 ( int  index) const
const SbVec4f& SoTextureCoordinateElement::get4 ( int  index) const
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.

Reimplemented in SoGLTextureCoordinateElement.

int32_t SoTextureCoordinateElement::getNum ( ) const [inline]

Returns the number of coordinate points in an instance.

Definition at line 138 of file SoTextureCoordinateElement.h.

static CoordType SoTextureCoordinateElement::getType ( SoState state) [static]
virtual CoordType SoTextureCoordinateElement::getType ( ) const [virtual]

Reimplemented in SoGLTextureCoordinateElement.

virtual void SoTextureCoordinateElement::init ( SoState state) [virtual]

Reimplemented from SoReplacedElement.

Reimplemented in SoGLTextureCoordinateElement.

static void SoTextureCoordinateElement::initClass ( ) [static]

Reimplemented from SoReplacedElement.

Reimplemented in SoGLTextureCoordinateElement.

SbBool SoTextureCoordinateElement::is2D ( ) const [inline]

Definition at line 140 of file SoTextureCoordinateElement.h.

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

Reimplemented from SoReplacedElement.

static void SoTextureCoordinateElement::set2 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec2f coords 
) [static]
static void SoTextureCoordinateElement::set4 ( SoState state,
SoNode node,
int32_t  numCoords,
const SbVec4f coords 
) [static]
static void SoTextureCoordinateElement::setDefault ( SoState state,
SoNode node 
) [static]
static void SoTextureCoordinateElement::setFunction ( SoState state,
SoNode node,
SoTextureCoordinateFunctionCB func,
void *  userData 
) [static]

Member Data Documentation

Definition at line 163 of file SoTextureCoordinateElement.h.

Definition at line 164 of file SoTextureCoordinateElement.h.

Definition at line 159 of file SoTextureCoordinateElement.h.


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