Coin: SoGLMultiTextureCoordinateElement Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SoGLMultiTextureCoordinateElement Class Reference
Element Classes

The SoGLMultiTextureCoordinateElement class stores the current gltexture coordinates for several units. More...

`#include <Inventor/elements/SoGLMultiTextureCoordinateElement.h>`

Inheritance diagram for SoGLMultiTextureCoordinateElement:

## Classes
class | GLUnitData

## Public Member Functions
virtual void | init (SoState *state)
| FIXME: write doc.
virtual void | push (SoState *state)
| FIXME: write doc.
virtual void | pop (SoState *state, const SoElement *prevTopElement)
| FIXME: write doc.
virtual CoordType | getType (const int unit=0) const
| FIXME: write doc.
void | send (const int unit, const int index) const
| FIXME: write doc.
void | send (const int unit, const int index, const SbVec3f &c, const SbVec3f &n) const
| FIXME: write doc.
void | initRender (const SbBool *enabled, const int maxenabled) const
void | send (const int index) const
void | send (const int index, const SbVec3f &c, const SbVec3f &n) const
void | initMulti (SoState *state) const
Public Member Functions inherited from SoMultiTextureCoordinateElement
const SbVec4f & | get (const int unit, const SbVec3f &point, const SbVec3f &normal) const
int32_t | getNum (const int unit=0) const
| FIXME: write doc.
SbBool | is2D (const int unit=0) const
| FIXME: write doc. (for backwards compatibility. Use getDimension() instead).
int32_t | getDimension (const int unit=0) const
const SbVec2f & | get2 (const int unit, const int index) const
| FIXME: write doc.
const SbVec3f & | get3 (const int unit, const int index) const
const SbVec4f & | get4 (const int unit, const int index) const
| FIXME: write doc.
const SbVec2f * | getArrayPtr2 (const int unit=0) const
const SbVec3f * | getArrayPtr3 (const int unit=0) const
const SbVec4f * | getArrayPtr4 (const int unit=0) const
virtual SbBool | matches (const SoElement *elem) const
SoElement * | copyMatchInfo (void) const
const SbVec4f & | get (const SbVec3f &point, const SbVec3f &normal) const
const SbVec2f & | get2 (const int index) const
const SbVec3f & | get3 (const int index) const
const SbVec4f & | get4 (const int index) const
Public Member Functions inherited from SoElement
const SoType | getTypeId (void) const
int | getStackIndex (void) const
void | setDepth (const int depth)
int | getDepth (void) const
virtual void | print (FILE *file=stdout) const
virtual | ~SoElement ()

## Static Public Member Functions
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void * | createInstance (void)
static void | initClass (void)
static void | setTexGen (SoState *const state, SoNode *const node, const int unit, SoTexCoordTexgenCB *const texgenFunc, void *const texgenData=NULL, SoTextureCoordinateFunctionCB *const func=NULL, void *const funcData=NULL)
| FIXME: write doc.
static const SoGLMultiTextureCoordinateElement * | getInstance (SoState *const state)
| FIXME: write doc.
static void | setTexGen (SoState *const state, SoNode *const node, SoTexCoordTexgenCB *const texgenFunc, void *const texgenData=NULL, SoTextureCoordinateFunctionCB *const func=NULL, void *const funcData=NULL)
Static Public Member Functions inherited from SoMultiTextureCoordinateElement
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void * | createInstance (void)
static void | initClass (void)
static void | setDefault (SoState *const state, SoNode *const node, const int unit=0)
| FIXME: write doc.
static void | setFunction (SoState *const state, SoNode *const node, const int unit, SoTextureCoordinateFunctionCB *const func, void *const userdata)
| FIXME: write doc.
static void | set2 (SoState *const state, SoNode *const node, const int unit, const int32_t numCoords, const SbVec2f *const coords)
| FIXME: write doc.
static void | set3 (SoState *const state, SoNode *const node, const int unit, const int32_t numCoords, const SbVec3f *const coords)
static void | set4 (SoState *const state, SoNode *const node, const int unit, const int32_t numCoords, const SbVec4f *const coords)
| FIXME: write doc.
static CoordType | getType (SoState *const state, const int unit=0)
static const SoMultiTextureCoordinateElement * | getInstance (SoState *const state)
| FIXME: write doc.
static void | setFunction (SoState *const state, SoNode *const node, SoTextureCoordinateFunctionCB *const func, void *const userdata)
static void | set2 (SoState *const state, SoNode *const node, const int32_t numCoords, const SbVec2f *const coords)
static void | set3 (SoState *const state, SoNode *const node, const int32_t numCoords, const SbVec3f *const coords)
static void | set4 (SoState *const state, SoNode *const node, const int32_t numCoords, const SbVec4f *const coords)
Static Public Member Functions inherited from SoElement
static void | initClass (void)
static SoType | getClassTypeId (void)
static int | getClassStackIndex (void)
static void | initElements (void)
static int | getNumStackIndices (void)
static SoType | getIdFromStackIndex (const int stackIndex)

## Protected Member Functions
| SoGLMultiTextureCoordinateElement (void)
virtual | ~SoGLMultiTextureCoordinateElement ()
virtual void | setElt (const int unit, SoTexCoordTexgenCB *func, void *data=NULL)
| FIXME: write doc.
Protected Member Functions inherited from SoMultiTextureCoordinateElement
| SoMultiTextureCoordinateElement (void)
virtual | ~SoMultiTextureCoordinateElement ()
int | getMaxUnits () const
UnitData & | getUnitData (const int unit)
const UnitData & | getUnitData (const int unit) const
Protected Member Functions inherited from SoElement
| SoElement (void)
void | capture (SoState *const state) const
virtual void | captureThis (SoState *state) const
void | setTypeId (const SoType typeId)
void | setStackIndex (const int index)
SoElement * | getNextInStack (void) const
SoElement * | getNextFree (void) const

## Additional Inherited Members
Public Types inherited from SoMultiTextureCoordinateElement
enum | CoordType { NONE = 0 , TEXGEN = 0 , EXPLICIT = 1 , FUNCTION = 2 , DEFAULT = 3 }
Static Protected Member Functions inherited from SoElement
static SoElement * | getElement (SoState *const state, const int stackIndex)
static const SoElement * | getConstElement (SoState *const state, const int stackIndex)
static int | createStackIndex (const SoType id)
Protected Attributes inherited from SoMultiTextureCoordinateElement
SbVec2f | convert2
SbVec3f | convert3
SbVec4f | convert4
Protected Attributes inherited from SoElement
SoType | typeId
int | stackIndex
int | depth
Static Protected Attributes inherited from SoElement
static int | classStackIndex
static SoTypeList * | stackToType

## Detailed Description

The SoGLMultiTextureCoordinateElement class stores the current gltexture coordinates for several units.

## Constructor & Destructor Documentation

## ◆ SoGLMultiTextureCoordinateElement()

SoGLMultiTextureCoordinateElement::SoGLMultiTextureCoordinateElement | ( | void |  | ) |
| protected

Constructor.

## ◆ ~SoGLMultiTextureCoordinateElement()

SoGLMultiTextureCoordinateElement::~SoGLMultiTextureCoordinateElement | ( |  | ) |
| protectedvirtual

Destructor.

## Member Function Documentation

## ◆ getClassTypeId()

SoType SoGLMultiTextureCoordinateElement::getClassTypeId | ( | void |  | ) |
| static

This static method returns the SoType object associated with objects of this class.

## ◆ getClassStackIndex()

int SoGLMultiTextureCoordinateElement::getClassStackIndex | ( | void |  | ) |
| static

This static method returns the state stack index for the class.

## ◆ createInstance()

void * SoGLMultiTextureCoordinateElement::createInstance | ( | void |  | ) |
| static

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Creates a new instance of the class type corresponding to the SoType object.

## ◆ initClass()

void SoGLMultiTextureCoordinateElement::initClass | ( | void |  | ) |
| static

Initialize relevant common data for all instances, like the type system.

## ◆ init()

void SoGLMultiTextureCoordinateElement::init | ( | SoState * | state | ) |
| virtual

FIXME: write doc.

Reimplemented from SoMultiTextureCoordinateElement.

## ◆ push()

void SoGLMultiTextureCoordinateElement::push | ( | SoState * | state | ) |
| virtual

FIXME: write doc.

Reimplemented from SoMultiTextureCoordinateElement.

## ◆ pop()

void SoGLMultiTextureCoordinateElement::pop | ( | SoState * | state,
|  | const SoElement * | prevTopElement )
| virtual

FIXME: write doc.

Reimplemented from SoElement.

## ◆ getType()

SoMultiTextureCoordinateElement::CoordType SoGLMultiTextureCoordinateElement::getType | ( | const int | unit = 0 | ) | const
| virtual

FIXME: write doc.

Reimplemented from SoMultiTextureCoordinateElement.

## ◆ initRender()

void SoGLMultiTextureCoordinateElement::initRender | ( | const SbBool * | enabled,
|  | const int | maxenabled ) const

Internal method that is called from SoGLTextureCoordinateBundle to set up optimized rendering.

## ◆ initMulti()

void SoGLMultiTextureCoordinateElement::initMulti | ( | SoState * | state | ) | const

Called from SoTextureCoordinateBundle to initialize multi texturing.

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

- SoGLMultiTextureCoordinateElement.h
- SoGLMultiTextureCoordinateElement.cpp