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

# SoTextureCoordinateBinding(3)

The SoTextureCoordinateBinding class says how texture coordinates should be bound to shapes.

## NAME

SoTextureCoordinateBinding - The **SoTextureCoordinateBinding** class says how texture coordinates should be bound to shapes.

## SYNOPSIS

\#include \<Inventor/nodes/SoTextureCoordinateBinding.h\>

Inherits **SoNode**.

### Public Types

enum **Binding** { **PER\_VERTEX** = SoTextureCoordinateBindingElement::PER\_VERTEX, **PER\_VERTEX\_INDEXED** = SoTextureCoordinateBindingElement::PER\_VERTEX\_INDEXED, **DEFAULT** = PER\_VERTEX\_INDEXED }\

Public Types inherited from **SoNode** enum **NodeType** { **INVENTOR** = 0x0000, **VRML1** = 0x0001, **VRML2** = 0x0002, **INVENTOR\_1** = 0x0004, **INVENTOR\_2\_0** = 0x0008, **INVENTOR\_2\_1** = 0x0010, **INVENTOR\_2\_5** = 0x0020, **INVENTOR\_2\_6** = 0x0040, **COIN\_1\_0** = 0x0080, **COIN\_2\_0** = 0x0100, **EXTENSION** = 0x0200, **COIN\_2\_2** = 0x0400, **COIN\_2\_3** = 0x0800, **COIN\_2\_4** = 0x1000, **INVENTOR\_5\_0** = 0x2000, **COIN\_2\_5** = 0x4000, **COIN\_3\_0** = 0x8000, **INVENTOR\_6\_0** = 0x10000, **COIN\_4\_0** = 0x20000 }\

### Public Member Functions

virtual **SoType** **getTypeId** (void) const\
 **SoTextureCoordinateBinding** (void)\
 virtual void **doAction** (**SoAction** \*action)\
 virtual void **callback** (**SoCallbackAction** \*action)\
 virtual void **GLRender** (**SoGLRenderAction** \*action)\
 virtual void **pick** (**SoPickAction** \*action)\

Public Member Functions inherited from **SoNode** void **setOverride** (const SbBool state)\
 SbBool **isOverride** (void) const\
 void **setNodeType** (const **NodeType** type)\
 **NodeType** **getNodeType** (void) const\
 virtual **SoNode** \* **copy** (SbBool copyconnections=FALSE) const\
 virtual SbBool **affectsState** (void) const\
 virtual void **GLRenderBelowPath** (**SoGLRenderAction** \*action)\
 virtual void **GLRenderInPath** (**SoGLRenderAction** \*action)\
 virtual void **GLRenderOffPath** (**SoGLRenderAction** \*action)\
 virtual void **getBoundingBox** (**SoGetBoundingBoxAction** \*action)\
 virtual void **getMatrix** (**SoGetMatrixAction** \*action)\
 virtual void **handleEvent** (**SoHandleEventAction** \*action)\
 virtual void **rayPick** (**SoRayPickAction** \*action)\
 virtual void **search** (**SoSearchAction** \*action)\
 virtual void **write** (**SoWriteAction** \*action)\
 virtual void **audioRender** (**SoAudioRenderAction** \*action)\
 virtual void **getPrimitiveCount** (**SoGetPrimitiveCountAction** \*action)\
 virtual void **grabEventsSetup** (void)\
 virtual void **grabEventsCleanup** (void)\
 virtual void **startNotify** (void)\
 virtual void **notify** (**SoNotList** \*l)\
 SbUniqueId **getNodeId** (void) const\
 virtual **SoChildList** \* **getChildren** (void) const\
 virtual void **writeInstance** (**SoOutput** \*out)\
 virtual **SoNode** \* **addToCopyDict** (void) const\
 virtual void **copyContents** (const **SoFieldContainer** \*from, SbBool copyconnections)\
 virtual **SoFieldContainer** \* **copyThroughConnection** (void) const\

Public Member Functions inherited from **SoFieldContainer** void **setToDefaults** (void)\
 SbBool **hasDefaultValues** (void) const\
 SbBool **fieldsAreEqual** (const **SoFieldContainer** \*container) const\
 void **copyFieldValues** (const **SoFieldContainer** \*container, SbBool copyconnections=FALSE)\
 SbBool **set** (const char \*const fielddata)\
 void **get** (**SbString** &fielddata)\
 virtual int **getFields** (**SoFieldList** &l) const\
 virtual int **getAllFields** (**SoFieldList** &l) const\
 virtual **SoField** \* **getField** (const **SbName** &name) const\
 virtual **SoField** \* **getEventIn** (const **SbName** &name) const\
 virtual **SoField** \* **getEventOut** (const **SbName** &name) const\
 SbBool **getFieldName** (const **SoField** \*const field, **SbName** &name) const\
 SbBool **enableNotify** (const SbBool flag)\
 SbBool **isNotifyEnabled** (void) const\
 SbBool **set** (const char \*fielddata, **SoInput** \*input)\
 void **get** (**SbString** &fielddata, **SoOutput** \*out)\
 virtual SbBool **validateNewFieldValue** (**SoField** \*field, void \*newval)\
 virtual void **addWriteReference** (**SoOutput** \*out, SbBool isfromfield=FALSE)\
 SbBool **getIsBuiltIn** (void) const\
 virtual void **getFieldsMemorySize** (size\_t &managed, size\_t &unmanaged) const\
 void **setUserData** (void \*userdata) const\
 void \* **getUserData** (void) const\

Public Member Functions inherited from **SoBase** void **ref** (void) const\
 void **unref** (void) const\
 void **unrefNoDelete** (void) const\
 int32\_t **getRefCount** (void) const\
 void **touch** (void)\
 SbBool **isOfType** (**SoType** type) const\
 Returns TRUE if the type of this object is either of the same type or inherited from *type*.  virtual **SbName** **getName** (void) const\
 virtual void **setName** (const **SbName** &newname)\
 void **addAuditor** (void \*const auditor, const **SoNotRec::Type** type)\
 void **removeAuditor** (void \*const auditor, const **SoNotRec::Type** type)\
 const **SoAuditorList** & **getAuditors** (void) const\
 SbBool **shouldWrite** (void)\
 void **assertAlive** (void) const\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

Static Public Member Functions inherited from **SoNode** static uint32\_t **getCompatibilityTypes** (const **SoType** &nodetype)\
 static **SoType** **getClassTypeId** (void)\
 static **SoNode** \* **getByName** (const **SbName** &name)\
 static int **getByName** (const **SbName** &name, **SoNodeList** &l)\
 static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.     static void **initClasses** (void)\
 static SbUniqueId **getNextNodeId** (void)\
 static int **getActionMethodIndex** (const **SoType** type)\
 static void **getBoundingBoxS** (**SoAction** \*action, **SoNode** \*node)\
 static void **GLRenderS** (**SoAction** \*action, **SoNode** \*node)\
 static void **callbackS** (**SoAction** \*action, **SoNode** \*node)\
 static void **getMatrixS** (**SoAction** \*action, **SoNode** \*node)\
 static void **handleEventS** (**SoAction** \*action, **SoNode** \*node)\
 static void **pickS** (**SoAction** \*action, **SoNode** \*node)\
 static void **rayPickS** (**SoAction** \*action, **SoNode** \*node)\
 static void **searchS** (**SoAction** \*action, **SoNode** \*node)\
 static void **writeS** (**SoAction** \*action, **SoNode** \*node)\
 static void **audioRenderS** (**SoAction** \*action, **SoNode** \*node)\
 static void **getPrimitiveCountS** (**SoAction** \*action, **SoNode** \*node)\

Static Public Member Functions inherited from **SoFieldContainer** static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.     static **SoType** **getClassTypeId** (void)\
 This static method returns the **SoType** object associated with objects of this class.     static void **cleanupClass** (void)\
 static void **initCopyDict** (void)\
 static void **addCopy** (const **SoFieldContainer** \*orig, const **SoFieldContainer** \*copy)\
 static **SoFieldContainer** \* **checkCopy** (const **SoFieldContainer** \*orig)\
 static **SoFieldContainer** \* **findCopy** (const **SoFieldContainer** \*orig, const SbBool copyconnections)\
 static void **copyDone** (void)\

Static Public Member Functions inherited from **SoBase** static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.  static **SoType** **getClassTypeId** (void)\
 This static method returns the **SoType** object associated with objects of this class.  static void **addName** (**SoBase** \*const base, const char \*const name)\
 static void **removeName** (**SoBase** \*const base, const char \*const name)\
 static void **incrementCurrentWriteCounter** (void)\
 static void **decrementCurrentWriteCounter** (void)\
 static **SoBase** \* **getNamedBase** (const **SbName** &name, **SoType** type)\
 static int **getNamedBases** (const **SbName** &name, **SoBaseList** &baselist, **SoType** type)\
 static SbBool **read** (**SoInput** \*input, **SoBase** \*&base, **SoType** expectedtype)\
 static void **setInstancePrefix** (const **SbString** &c)\
 static void **setTraceRefs** (SbBool trace)\
 static SbBool **getTraceRefs** (void)\
 static SbBool **connectRoute** (**SoInput** \*input, const **SbName** &fromnodename, const **SbName** &fromfieldname, const **SbName** &tonodename, const **SbName** &tofieldname)\
 static SbBool **readRoute** (**SoInput** \*input)\

### Public Attributes

**SoSFEnum** **value**\

### Protected Member Functions

virtual const **SoFieldData** \* **getFieldData** (void) const\
 virtual **~SoTextureCoordinateBinding** ()\
 virtual SbBool **readInstance** (**SoInput** \*in, unsigned short flags)\

Protected Member Functions inherited from **SoNode** **SoNode** (void)\
 virtual **~SoNode** ()\

Protected Member Functions inherited from **SoFieldContainer** **SoFieldContainer** (void)\
 virtual **~SoFieldContainer** ()\

Protected Member Functions inherited from **SoBase** **SoBase** (void)\
 virtual **~SoBase** ()\
 virtual void **destroy** (void)\
 SbBool **hasMultipleWriteRefs** (void) const\
 SbBool **writeHeader** (**SoOutput** \*out, SbBool isgroup, SbBool isengine) const\
 void **writeFooter** (**SoOutput** \*out) const\
 virtual const char \* **getFileFormatName** (void) const\
 virtual **SoNotRec** **createNotRec** (void)\

### Static Protected Member Functions

static const **SoFieldData** \*\* **getFieldDataPtr** (void)\

Static Protected Member Functions inherited from **SoNode** static const **SoFieldData** \*\* **getFieldDataPtr** (void)\
 static void **setNextActionMethodIndex** (int index)\
 static int **getNextActionMethodIndex** (void)\
 static void **incNextActionMethodIndex** (void)\
 static void **setCompatibilityTypes** (const **SoType** &nodetype, const uint32\_t bitmask)\

Static Protected Member Functions inherited from **SoBase** static uint32\_t **getCurrentWriteCounter** (void)\
 static void **staticDataLock** (void)\
 static void **staticDataUnlock** (void)\

### Additional Inherited Members

Protected Types inherited from **SoBase** enum **BaseFlags** { **IS\_ENGINE** = 0x01, **IS\_GROUP** = 0x02 }\

Protected Attributes inherited from **SoNode** SbUniqueId **uniqueId**\

Protected Attributes inherited from **SoFieldContainer** SbBool **isBuiltIn**\

Static Protected Attributes inherited from **SoNode** static SbUniqueId **nextUniqueId** = 1\
 static int **nextActionMethodIndex** = 0\

## Detailed Description

The **SoTextureCoordinateBinding** class says how texture coordinates should be bound to shapes.

**SoTextureCoordinateBinding** binds current coordinates to subsequent shapes by using either per vertex or per indexed vertex binding.

**FILE FORMAT/DEFAULTS:**

```
TextureCoordinateBinding {
    value PER_VERTEX_INDEXED
}
```

## Member Enumeration Documentation

### enum SoTextureCoordinateBinding::Binding

The binding types available for the **SoTextureCoordinateBinding::value** field.

**Enumerator**

- ***PER\_VERTEX***

  Get a new texture coordinate from the pool of texture coordinates for each vertex of the shape.

Texture Coordinates are fetched from index 0 and onwards, incrementing the index into the texture coordinates pool by 1 for each new vertex of the shape node.

- ***PER\_VERTEX\_INDEXED***

  Get a new texture coordinate from the pool of texture coordinates for each vertex of the shape.

Texture coordinates are fetched by the index value settings of the shape.

- ***DEFAULT***

  Obsolete value, please don't use.

## Constructor & Destructor Documentation

### SoTextureCoordinateBinding::SoTextureCoordinateBinding (void )

Constructor.

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

Destructor.

## Member Function Documentation

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

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

### SoType SoTextureCoordinateBinding::getTypeId (void ) const \[virtual\]

Returns the type identification of an object derived from a class inheriting **SoBase**. This is used for runtime type checking and "downward" casting.

Implements **SoBase**.

### const SoFieldData \*\* SoTextureCoordinateBinding::getFieldDataPtr (void ) \[static\], \[protected\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Returns the **SoFieldData** class which holds information about fields in this node.

### const SoFieldData \* SoTextureCoordinateBinding::getFieldData (void ) const \[protected\], \[virtual\]

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL.

Reimplemented from **SoFieldContainer**.

### void SoTextureCoordinateBinding::doAction (SoAction \* action) \[virtual\]

This function performs the typical operation of a node for any action.

Reimplemented from **SoNode**.

### void SoTextureCoordinateBinding::callback (SoCallbackAction \* action) \[virtual\]

Action method for **SoCallbackAction**.

Simply updates the state according to how the node behaves for the render action, so the application programmer can use the **SoCallbackAction** for extracting information about the scene graph.

Reimplemented from **SoNode**.

### void SoTextureCoordinateBinding::GLRender (SoGLRenderAction \* action) \[virtual\]

Action method for the **SoGLRenderAction**.

This is called during rendering traversals. Nodes influencing the rendering state in any way or want to throw geometry primitives at OpenGL override this method.

Reimplemented from **SoNode**.

### void SoTextureCoordinateBinding::pick (SoPickAction \* action) \[virtual\]

Action method for **SoPickAction**.

Does common processing for **SoPickAction** *action* instances.

Reimplemented from **SoNode**.

### SbBool SoTextureCoordinateBinding::readInstance (SoInput \* in, unsigned short flags) \[protected\], \[virtual\]

This method is mainly intended for internal use during file import operations.

It reads a definition of an instance from the input stream *in*. The input stream state points to the start of a serialized / persistent representation of an instance of this class type.

TRUE or FALSE is returned, depending on if the instantiation and configuration of the new object of this class type went OK or not. The import process should be robust and handle corrupted input streams by returning FALSE.

*flags* is used internally during binary import when reading user extension nodes, group nodes or engines.

Reimplemented from **SoNode**.

## Member Data Documentation

### SoSFEnum SoTextureCoordinateBinding::value

Type of texture map binding for subsequent shape nodes in the scene graph. Default field value is **SoTextureCoordinateBinding::PER\_VERTEX\_INDEXED**.

## Author

Generated automatically by Doxygen for Coin from the source code.
