---
name: "SoMultiTextureEnabledElement"
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/SoMultiTextureEnabledElement"
---

# SoMultiTextureEnabledElement(3)

The SoMultiTextureEnabledElement class is an element which stores whether texturing is enabled or not.

## NAME

SoMultiTextureEnabledElement - The **SoMultiTextureEnabledElement** class is an element which stores whether texturing is enabled or not.

## SYNOPSIS

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

Inherits **SoElement**.

Inherited by **SoGLMultiTextureEnabledElement**.

### Public Types

enum **Mode** { **DISABLED** = 0, **TEXTURE2D**, **RECTANGLE**, **CUBEMAP**, **TEXTURE3D** }\

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **setElt** (const int unit, const int mode)\
 virtual void **push** (**SoState** \*state)\
 virtual SbBool **matches** (const **SoElement** \*elem) const\
 **SoElement** \* **copyMatchInfo** (void) const\

Public Member Functions inherited from **SoElement** const **SoType** **getTypeId** (void) const\
 int **getStackIndex** (void) const\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\
 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 **set** (**SoState** \*state, **SoNode** \*node, const int unit, const SbBool enabled)\
 static SbBool **get** (**SoState** \*state, const int unit=0)\
 static const SbBool \* **getEnabledUnits** (**SoState** \*state, int &lastenabled)\
 static const Mode \* **getActiveUnits** (**SoState** \*state, int &lastenabled)\
 static void **enableRectangle** (**SoState** \*state, **SoNode** \*node, const int unit=0)\
 static void **enableCubeMap** (**SoState** \*state, **SoNode** \*node, const int unit=0)\
 static void **enableTexture3** (**SoState** \*state, **SoNode** \*node, const int unit=0)\
 static Mode **getMode** (**SoState** \*state, const int unit=0)\
 static void **disableAll** (**SoState** \*state)\
 static void **set** (**SoState** \*state, const SbBool enabled)\
 static void **set** (**SoState** \*state, **SoNode** \*node, const SbBool enabled)\

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

**SoMultiTextureEnabledElement** (void)\
 virtual **~SoMultiTextureEnabledElement** ()\
 int **getMaxUnits** () const\
 SbBool **isEnabled** (const int unit) const\
 Mode **getMode** (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

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 **SoElement** **SoType** **typeId**\
 int **stackIndex**\
 int **depth**\

Static Protected Attributes inherited from **SoElement** static int **classStackIndex**\
 static **SoTypeList** \* **stackToType**\

## Detailed Description

The **SoMultiTextureEnabledElement** class is an element which stores whether texturing is enabled or not.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\

**Since**

Coin 2.2

## Constructor & Destructor Documentation

### SoMultiTextureEnabledElement::SoMultiTextureEnabledElement (void ) \[protected\]

Constructor.

### SoMultiTextureEnabledElement::~SoMultiTextureEnabledElement (void ) \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

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

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

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

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

### void \* SoMultiTextureEnabledElement::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 SoMultiTextureEnabledElement::initClass (void ) \[static\]

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

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

This function initializes the element type in the given **SoState**. It is called for the first element of each enabled element type in **SoState** objects.

Reimplemented from **SoElement**.

Reimplemented in **SoGLMultiTextureEnabledElement**.

### void SoMultiTextureEnabledElement::set (SoState \* state, SoNode \* node, const int unit, const SbBool enabled) \[static\]

Sets the state of this element.

### SbBool SoMultiTextureEnabledElement::get (SoState \* state, const int unit = 0) \[static\]

Return current state of this element for *unit*.

### void SoMultiTextureEnabledElement::setElt (const int unit, const int mode\_in) \[virtual\]

virtual element set function.

Reimplemented in **SoGLMultiTextureEnabledElement**.

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

This method is called every time a new element is required in one of the stacks. This happens when a writable element is requested, using **SoState::getElement()** or indirectly **SoElement::getElement()**, and the depth of the current element is less than the state depth.

Override this method if your element needs to copy data from the previous top of stack. The **push()** method is called on the new element, and the previous element can be found using **SoElement::getNextInStack()**.

Reimplemented from **SoElement**.

Reimplemented in **SoGLMultiTextureEnabledElement**.

### SbBool SoMultiTextureEnabledElement::matches (const SoElement \* element) const \[virtual\]

This function returns TRUE is the element matches another element (of the same class), with respect to cache validity.

If the application programmer's extension element has a **matches()** function, it should also have a **copyMatchInfo()** function.

Implements **SoElement**.

### SoElement \* SoMultiTextureEnabledElement::copyMatchInfo (void ) const \[virtual\]

This function creates a copy of the element that contains enough information to enable the **matches()** function to work.

Used to help with scene graph traversal caching operations.

Implements **SoElement**.

### const SbBool \* SoMultiTextureEnabledElement::getEnabledUnits (SoState \* state, int & lastenabled) \[static\]

Returns a pointer to a boolean array. TRUE means unit is enabled and that texture coordinates must be sent to the unit. *lastenabled* is set to the last enabled unit.

### const SoMultiTextureEnabledElement::Mode \* SoMultiTextureEnabledElement::getActiveUnits (SoState \* state, int & lastenabled) \[static\]

Returns the mode of all units. Also returns the last enabled unit in *lastenabled*.

**Since**

Coin 2.5

### void SoMultiTextureEnabledElement::enableRectangle (SoState \* state, SoNode \* node, const int unit = 0) \[static\]

Enable RECTANGLE texture mode.

**Since**

Coin 2.5

### void SoMultiTextureEnabledElement::enableCubeMap (SoState \* state, SoNode \* node, const int unit = 0) \[static\]

Enable CUBEMAP texture mode.

**Since**

Coin 2.5

### void SoMultiTextureEnabledElement::enableTexture3 (SoState \* state, SoNode \* node, const int unit = 0) \[static\]

Enable Texture3 texture mode.

**Since**

Coin 4.0

### SoMultiTextureEnabledElement::Mode SoMultiTextureEnabledElement::getMode (SoState \* state, const int unit = 0) \[static\]

Returns the mode for a texture unit.

**Since**

Coin 2.5

### void SoMultiTextureEnabledElement::disableAll (SoState \* state) \[static\]

Disable all active texture units. Convenient when all textures needs to be disabled before rendering.

**Since**

Coin 2.5

### void SoMultiTextureEnabledElement::set (SoState \* state, const SbBool enabled) \[inline\], \[static\]

**Since**

Coin-3

### void SoMultiTextureEnabledElement::set (SoState \* state, SoNode \* node, const SbBool enabled) \[inline\], \[static\]

**Since**

Coin-3.

### int SoMultiTextureEnabledElement::getMaxUnits () const \[protected\]

Returns the max number of texture units enabled/disabled

**Since**

Coin 4.0

### SbBool SoMultiTextureEnabledElement::isEnabled (const int unit) const \[protected\]

Returns TRUE if unit is enabled (Mode == DISABLED).

## Author

Generated automatically by Doxygen for Coin from the source code.
