---
name: "SoGLTextureMatrixElement"
section: "3"
platform: "linux"
package: "libcoin60-doc"
version: "3.1.3-2.2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/SoGLTextureMatrixElement"
---

# SoGLTextureMatrixElement(3)

The SoGLTextureMatrixElement class is used to update the OpenGL texture matrix. Since (for some weird reason) most OpenGL implementations have a very small texture matrix stack, and since the matrix stack also is broken on many OpenGL implementations, the texture matrix is always loaded into OpenGL. We do not push() and pop() matrices.

## NAME

SoGLTextureMatrixElement -

The **SoGLTextureMatrixElement** class is used to update the OpenGL texture matrix.

Since (for some weird reason) most OpenGL implementations have a very small texture matrix stack, and since the matrix stack also is broken on many OpenGL implementations, the texture matrix is always loaded into OpenGL. We do not **push()** and **pop()** matrices.

## SYNOPSIS

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

Inherits **SoTextureMatrixElement**.

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\
 virtual void **setElt** (const **SbMatrix** &matrix)\
 virtual void **makeEltIdentity** (void)\
 virtual void **multElt** (const **SbMatrix** &matrix)\
 virtual void **translateEltBy** (const **SbVec3f** &translation)\
 virtual void **rotateEltBy** (const **SbRotation** &translation)\
 virtual void **scaleEltBy** (const **SbVec3f** &scaleFactor)\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\
 static void **setEltIdentity** (void)\

### Protected Member Functions

virtual **~SoGLTextureMatrixElement** ()\

### Additional Inherited Members

## Detailed Description

The **SoGLTextureMatrixElement** class is used to update the OpenGL texture matrix.

Since (for some weird reason) most OpenGL implementations have a very small texture matrix stack, and since the matrix stack also is broken on many OpenGL implementations, the texture matrix is always loaded into OpenGL. We do not **push()** and **pop()** matrices.

## Constructor & Destructor Documentation

### SoGLTextureMatrixElement::~SoGLTextureMatrixElement (void)` [protected]`, ` [virtual]`

The destructor.

## Member Function Documentation

### SoType SoGLTextureMatrixElement::getClassTypeId (void)` [static]`

This static method returns the class type.

Reimplemented from **SoTextureMatrixElement**.

### int SoGLTextureMatrixElement::getClassStackIndex (void)` [static]`

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

Reimplemented from **SoTextureMatrixElement**.

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

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::initClass (void)` [static]`

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

Reimplemented from **SoTextureMatrixElement**.

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

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

This method is callled when the state is popped, and the depth of the element is bigger than the current state depth. **pop()** is called on the new top of stack, and a pointer to the previous top of stack is passed in *prevTopElement*.

Override this method if you need to copy some state information from the previous top of stack.

Reimplemented from **SoElement**.

### void SoGLTextureMatrixElement::setElt (const SbMatrix &matrix)` [virtual]`

virtual method which is called from **set()**. Sets the texture matrix to *matrix*.

This method is an extension versus the Open Inventor API.

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::makeEltIdentity (void)` [virtual]`

virtual method which is called from **makeIdentity()**. Sets element matrix to identity.

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::multElt (const SbMatrix &matrix)` [virtual]`

virtual method which is called from **mult()**. Multiplies *matrix* into element matrix.

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::translateEltBy (const SbVec3f &translation)` [virtual]`

virtual method which is called from **translateBy()**. Appends *translation* to the element matrix.

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::rotateEltBy (const SbRotation &rotation)` [virtual]`

virtual method which is called from **rotateBy()**. Appends *rotation* to the element matrix.

Reimplemented from **SoTextureMatrixElement**.

### void SoGLTextureMatrixElement::scaleEltBy (const SbVec3f &scaleFactor)` [virtual]`

virtual method which is called from **scaleBy()**. Append *scaleFactor* to the element matrix.

Reimplemented from **SoTextureMatrixElement**.

## Author

Generated automatically by Doxygen for Coin from the source code.
