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

# SoTextureCombineElement(3)

The SoTextureCombineElement class is yet to be documented.

## NAME

SoTextureCombineElement - The **SoTextureCombineElement** class is yet to be documented.

## SYNOPSIS

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

Inherits **SoElement**.

### Classes

class **UnitData**\

### Public Types

enum **Source** { **PRIMARY\_COLOR** = 0x8577, **TEXTURE** = 0x1702, **CONSTANT** = 0x8576, **PREVIOUS** = 0x8578 }\
 enum **Operand** { **SRC\_COLOR** = 0x0300, **ONE\_MINUS\_SRC\_COLOR** = 0x0301, **SRC\_ALPHA** = 0x0302, **ONE\_MINUS\_SRC\_ALPHA** = 0x0303 }\
 enum **Operation** { **REPLACE** = 0x1E01, **MODULATE** = 0x2100, **ADD** = 0x0104, **ADD\_SIGNED** = 0x8574, **SUBTRACT** = 0x84E7, **INTERPOLATE** = 0x8575, **DOT3\_RGB** = 0x86AE, **DOT3\_RGBA** = 0x86AF }\

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **push** (**SoState** \*state)\
 virtual SbBool **matches** (const **SoElement** \*elem) const\
 **SoElement** \* **copyMatchInfo** (void) const\
 virtual void **setElt** (const int unit, const SbUniqueId nodeid, const Operation rgboperation, const Operation alphaoperation, const Source \*rgbsource, const Source \*alphasource, const Operand \*rgboperand, const Operand \*alphaoperand, const **SbColor4f** &constantcolor, const float rgbscale, const float alphascale)\
 FIXME: write doc.

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** \*const state, **SoNode** \*const node, const int unit, const Operation rgboperation, const Operation alphaoperation, const Source \*rgbsource, const Source \*alphasource, const Operand \*rgboperand, const Operand \*alphaoperand, const **SbColor4f** &constantcolor, const float rgbscale, const float alphascale)\
 FIXME: write doc.  static SbBool **isDefault** (**SoState** \*const state, const int unit)\
 static void **get** (**SoState** \*const state, const int unit, Operation &rgboperation, Operation &alphaoperation, Source \*rgbsource, Source \*alphasource, Operand \*rgboperand, Operand \*alphaoperand, **SbColor4f** &constantcolor, float &rgbscale, float &alphascale)\
 FIXME: write doc.  static void **apply** (**SoState** \*state, const int unit)\

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

virtual **~SoTextureCombineElement** ()\
 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

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 **SoTextureCombineElement** class is yet to be documented.

FIXME: write doc.

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

## Constructor & Destructor Documentation

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

Destructor.

## Member Function Documentation

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

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

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

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

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

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

### void SoTextureCombineElement::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**.

### void SoTextureCombineElement::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**.

### SbBool SoTextureCombineElement::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 \* SoTextureCombineElement::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**.

## Author

Generated automatically by Doxygen for Coin from the source code.
