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

# SoTextureCoordinateElement(3)

The SoTextureCoordinateElement class is yet to be documented. FIXME: write doc.

## NAME

SoTextureCoordinateElement -

The **SoTextureCoordinateElement** class is yet to be documented.

FIXME: write doc.

## SYNOPSIS

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

Inherits **SoReplacedElement**.

Inherited by **SoGLTextureCoordinateElement**.

### Public Types

enum **CoordType** { **NONE** =  0, **TEXGEN** =  0, **EXPLICIT** =  1, **FUNCTION** =  2, **DEFAULT** =  3 }\

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 *FIXME: write doc.*  virtual **CoordType** **getType** (void) const \
 *FIXME: write doc.*  const **SbVec4f** & **get** (const **SbVec3f** &point, const **SbVec3f** &normal) const \
 int32\_t **getNum** (void) const \
 *FIXME: write doc.*  SbBool **is2D** (void) const \
 *FIXME: write doc. (for backwards compability. Use* **getDimension()** *instead).*  int32\_t **getDimension** (void) const \
 const **SbVec2f** & **get2** (const int index) const \
 *FIXME: write doc.*  const **SbVec3f** & **get3** (const int index) const \
 const **SbVec4f** & **get4** (const int index) const \
 *FIXME: write doc.*  const **SbVec2f** \* **getArrayPtr2** (void) const \
 const **SbVec3f** \* **getArrayPtr3** (void) const \
 const **SbVec4f** \* **getArrayPtr4** (void) const \

### Static Public Member Functions

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)\
 *FIXME: write doc.*  static void **setFunction** (**SoState** \*const state, **SoNode** \*const node, SoTextureCoordinateFunctionCB \*const func, void \*const userdata)\
 *FIXME: write doc.*  static void **set2** (**SoState** \*const state, **SoNode** \*const node, const int32\_t **numCoords**, const **SbVec2f** \*const coords)\
 *FIXME: write doc.*  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)\
 *FIXME: write doc.*  static **CoordType** **getType** (**SoState** \*const state)\
 static const \
 **SoTextureCoordinateElement** \* **getInstance** (**SoState** \*const state)"\
 *FIXME: write doc.*

### Protected Member Functions

virtual **~SoTextureCoordinateElement** ()\

### Protected Attributes

**CoordType** **whatKind**\
 SoTextureCoordinateFunctionCB \* **funcCB**\
 void \* **funcCBData**\
 int32\_t **numCoords**\
 const **SbVec2f** \* **coords2**\
 const **SbVec3f** \* **coords3**\
 const **SbVec4f** \* **coords4**\
 SbBool **coordsDimension**\
 **SbVec2f** **convert2**\
 **SbVec3f** **convert3**\
 **SbVec4f** **convert4**\

### Additional Inherited Members

## Detailed Description

The **SoTextureCoordinateElement** 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.2

## Member Enumeration Documentation

### enum SoTextureCoordinateElement::CoordType

FIXME: write doc.

## Constructor & Destructor Documentation

### SoTextureCoordinateElement::~SoTextureCoordinateElement ()` [protected]`, ` [virtual]`

The destructor.

## Member Function Documentation

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

This static method returns the class type.

Reimplemented from **SoReplacedElement**.

Reimplemented in **SoGLTextureCoordinateElement**.

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

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

Reimplemented from **SoReplacedElement**.

Reimplemented in **SoGLTextureCoordinateElement**.

### void \* SoTextureCoordinateElement::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 in **SoGLTextureCoordinateElement**.

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

This static method initializes static data for the **SoTextureCoordinateElement** class.

Reimplemented from **SoReplacedElement**.

Reimplemented in **SoGLTextureCoordinateElement**.

### void SoTextureCoordinateElement::set3 (SoState \*conststate, SoNode \*constnode, const int32\_tnumCoords, const SbVec3f \*constcoords)` [static]`

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### SoTextureCoordinateElement::CoordType SoTextureCoordinateElement::getType (SoState \*conststate)` [static]`

This method is used by shapes. Three return values are possible.

DEFAULT means that the shapes should generate their own texture coordinates.

EXPLICIT means that discrete texture coordinates are stored, and should be fetched with **get2()**, **get3()** or **get4()**.

FUNCTION means that get(point, normal) must be used to generate texture coordinates.

### const SbVec4f & SoTextureCoordinateElement::get (const SbVec3f &point, const SbVec3f &normal) const

This method returns texture coordinate for the given point and normal. The coordinate is returned as a 4D vector where the r and q coordinates may be set to 0 and 1 respecively depending on what texture coordinate dimension we're using.

This method should only be used if the CoordType is FUNCTION.

### int32\_t SoTextureCoordinateElement::getDimension (void) const

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### const SbVec3f & SoTextureCoordinateElement::get3 (const intindex) const

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### const SbVec2f \* SoTextureCoordinateElement::getArrayPtr2 (void) const

Returns a pointer to the 2D texture coordinate array. This method is not part of the OIV API.

### const SbVec3f \* SoTextureCoordinateElement::getArrayPtr3 (void) const

Returns a pointer to the 3D texture coordinate array.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### const SbVec4f \* SoTextureCoordinateElement::getArrayPtr4 (void) const

Returns a pointer to the 4D texture coordinate array. This method is not part of the OIV API.

## Member Data Documentation

### SoTextureCoordinateElement::whatKind` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::funcCB` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::funcCBData` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::numCoords` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::coords2` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::coords3` [protected]`

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### SoTextureCoordinateElement::coords4` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::coordsDimension` [protected]`

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### SoTextureCoordinateElement::convert2` [protected]`

FIXME: write doc.

### SoTextureCoordinateElement::convert3` [protected]`

FIXME: write doc.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since:**

Coin 2.0

### SoTextureCoordinateElement::convert4` [protected]`

FIXME: write doc.

## Author

Generated automatically by Doxygen for Coin from the source code.
