---
name: "SoGLMultiTextureCoordinateElement"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoGLMultiTextureCoordinateElement"
---

# SoGLMultiTextureCoordinateElement(3)

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

## NAME

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

## SYNOPSIS

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

Inherits **SoMultiTextureCoordinateElement**.

### 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 (void ) \[protected\]

Constructor.

### SoGLMultiTextureCoordinateElement::~SoGLMultiTextureCoordinateElement () \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

### SoType SoGLMultiTextureCoordinateElement::getClassTypeId (void ) \[static\]

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

### int SoGLMultiTextureCoordinateElement::getClassStackIndex (void ) \[static\]

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

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

### void SoGLMultiTextureCoordinateElement::initClass (void ) \[static\]

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

### void SoGLMultiTextureCoordinateElement::init (SoState \* state) \[virtual\]

FIXME: write doc.

Reimplemented from **SoMultiTextureCoordinateElement**.

### void SoGLMultiTextureCoordinateElement::push (SoState \* state) \[virtual\]

FIXME: write doc.

Reimplemented from **SoMultiTextureCoordinateElement**.

### void SoGLMultiTextureCoordinateElement::pop (SoState \* state, const SoElement \* prevTopElement) \[virtual\]

FIXME: write doc.

Reimplemented from **SoElement**.

### SoMultiTextureCoordinateElement::CoordType SoGLMultiTextureCoordinateElement::getType (const int unit = 0) const \[virtual\]

FIXME: write doc.

Reimplemented from **SoMultiTextureCoordinateElement**.

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

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

### void SoGLMultiTextureCoordinateElement::initMulti (SoState \* state) const

Called from **SoTextureCoordinateBundle** to initialize multi texturing.

## Author

Generated automatically by Doxygen for Coin from the source code.
