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

# SoMFColorRGBA(3)

The SoMFColorRGBA class is a container for SbColor4f values.

## NAME

SoMFColorRGBA - The **SoMFColorRGBA** class is a container for **SbColor4f** values.

## SYNOPSIS

\#include \<Inventor/fields/SoMFColorRGBA.h\>

Inherits **SoMField**.

### Public Member Functions

virtual **SoType** **getTypeId** (void) const\
 virtual void **copyFrom** (const **SoField** &field)\
 const **SoMFColorRGBA** & **operator=** (const **SoMFColorRGBA** &field)\
 virtual SbBool **isSame** (const **SoField** &field) const\
 const **SbColor4f** & **operator\[\]** (const int idx) const\
 const **SbColor4f** \* **getValues** (const int start) const\
 int **find** (const **SbColor4f** &value, SbBool addifnotfound=FALSE)\
 void **setValues** (const int start, const int **num**, const **SbColor4f** \*newvals)\
 void **set1Value** (const int idx, const **SbColor4f** &value)\
 void **setValue** (const **SbColor4f** &value)\
 const **SbColor4f** & **operator=** (const **SbColor4f** &val)\
 SbBool **operator==** (const **SoMFColorRGBA** &field) const\
 SbBool **operator!=** (const **SoMFColorRGBA** &field) const\
 **SbColor4f** \* **startEditing** (void)\
 void **finishEditing** (void)\
 void **setValuesPointer** (const int **num**, const float \*userdata)\
 void **setValuesPointer** (const int **num**, float \*userdata)\
 void **setValuesPointer** (const int **num**, const **SbColor4f** \*userdata)\
 void **setValuesPointer** (const int **num**, **SbColor4f** \*userdata)\
 void **setValues** (int start, int **num**, const float rgba\[\]\[4\])\
 void **setHSVValues** (int start, int **num**, const float hsv\[\]\[4\])\
 void **setValue** (const **SbVec4f** &vec)\
 void **setValue** (float r, float g, float b, float a)\
 void **setValue** (const float rgba\[4\])\
 void **setHSVValue** (float h, float s, float v, float a)\
 void **setHSVValue** (const float hsva\[4\])\
 void **set1Value** (int idx, const **SbVec4f** &vec)\
 void **set1Value** (int idx, float r, float g, float b, float a)\
 void **set1Value** (int idx, const float rgba\[4\])\
 void **set1HSVValue** (int idx, float h, float s, float v, float a)\
 void **set1HSVValue** (int idx, const float hsva\[4\])\

Public Member Functions inherited from **SoMField** virtual **~SoMField** ()\
 int **getNum** (void) const\
 void **setNum** (const int **num**)\
 virtual void **deleteValues** (int start, int **num**=-1)\
 virtual void **insertSpace** (int start, int **num**)\
 SbBool **set1** (const int index, const char \*const valuestring)\
 void **get1** (const int index, **SbString** &valuestring)\
 virtual void **enableDeleteValues** (void)\
 virtual SbBool **isDeleteValuesEnabled** (void) const\

Public Member Functions inherited from **SoField** virtual **~SoField** ()\
 void **setIgnored** (SbBool ignore)\
 SbBool **isIgnored** (void) const\
 void **setDefault** (SbBool defaultVal)\
 SbBool **isDefault** (void) const\
 SbBool **isOfType** (const **SoType** type) const\
 void **enableConnection** (SbBool flag)\
 SbBool **isConnectionEnabled** (void) const\
 SbBool **connectFrom** (**SoEngineOutput** \*master, SbBool notnotify=FALSE, SbBool append=FALSE)\
 SbBool **appendConnection** (**SoEngineOutput** \*master, SbBool notnotify=FALSE)\
 void **disconnect** (**SoEngineOutput** \*engineoutput)\
 SbBool **isConnectedFromEngine** (void) const\
 SbBool **getConnectedEngine** (**SoEngineOutput** \*&master) const\
 SbBool **connectFrom** (**SoField** \*master, SbBool notnotify=FALSE, SbBool append=FALSE)\
 SbBool **appendConnection** (**SoField** \*master, SbBool notnotify=FALSE)\
 void **disconnect** (**SoField** \*field)\
 SbBool **isConnectedFromField** (void) const\
 SbBool **getConnectedField** (**SoField** \*&master) const\
 int **getNumConnections** (void) const\
 int **getForwardConnections** (**SoFieldList** &slavelist) const\
 int **getConnections** (**SoFieldList** &masterlist) const\
 void **disconnect** (void)\
 SbBool **isConnected** (void) const\
 void **setContainer** (**SoFieldContainer** \*cont)\
 **SoFieldContainer** \* **getContainer** (void) const\
 SbBool **set** (const char \*valuestring)\
 void **get** (**SbString** &valuestring)\
 SbBool **shouldWrite** (void) const\
 virtual void **touch** (void)\
 virtual void **startNotify** (void)\
 virtual void **notify** (**SoNotList** \*nlist)\
 SbBool **enableNotify** (SbBool on)\
 SbBool **isNotifyEnabled** (void) const\
 void **addAuditor** (void \*f, **SoNotRec::Type** type)\
 void **removeAuditor** (void \*f, **SoNotRec::Type** type)\
 int **operator==** (const **SoField** &f) const\
 int **operator!=** (const **SoField** &f) const\
 virtual void **connectionStatusChanged** (int numconnections)\
 SbBool **isReadOnly** (void) const\
 virtual void **fixCopy** (SbBool copyconnections)\
 virtual SbBool **referencesCopy** (void) const\
 void **copyConnection** (const **SoField** \*fromfield)\
 virtual SbBool **read** (**SoInput** \*input, const **SbName** &name)\
 virtual void **write** (**SoOutput** \*out, const **SbName** &name) const\
 virtual void **countWriteRefs** (**SoOutput** \*out) const\
 void **setFieldType** (int type)\
 int **getFieldType** (void) const\
 SbBool **getDirty** (void) const\
 void **setDirty** (SbBool dirty)\
 void **evaluate** (void) const\

### Static Public Member Functions

static void \* **createInstance** (void)\
 static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoMField** static **SoType** **getClassTypeId** (void)\
 static void **atexit\_cleanup** (void)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoField** static void **initClass** (void)\
 static void **initClasses** (void)\
 static void **cleanupClass** (void)\
 static **SoType** **getClassTypeId** (void)\

### Protected Member Functions

virtual void **deleteAllValues** (void)\
 virtual void **copyValue** (int to, int from)\
 virtual int **fieldSizeof** (void) const\
 virtual void \* **valuesPtr** (void)\
 virtual void **setValuesPtr** (void \*ptr)\
 virtual void **allocValues** (int **num**)\

Protected Member Functions inherited from **SoMField** **SoMField** (void)\
 virtual void **makeRoom** (int newnum)\
 virtual **SoNotRec** **createNotRec** (**SoBase** \*container)\
 void **setChangedIndex** (const int chgidx)\
 void **setChangedIndices** (const int chgidx=-1, const int numchgind=0)\

Protected Member Functions inherited from **SoField** **SoField** (void)\
 void **valueChanged** (SbBool resetdefault=TRUE)\
 virtual void **evaluateConnection** (void) const\
 virtual SbBool **readConnection** (**SoInput** \*in)\
 virtual void **writeConnection** (**SoOutput** \*out) const\
 SbBool **isDestructing** (void) const\

### Protected Attributes

**SbColor4f** \* **values**\

Protected Attributes inherited from **SoMField** int **num**\
 int **maxNum**\
 SbBool **userDataIsUsed**\

### Additional Inherited Members

Public Types inherited from **SoField** enum **FieldType** { **NORMAL\_FIELD** = 0, **EVENTIN\_FIELD**, **EVENTOUT\_FIELD**, **EXPOSED\_FIELD** }\

## Detailed Description

The **SoMFColorRGBA** class is a container for **SbColor4f** values.

This field is used where nodes, engines or other field containers need to store multiple color values (i.e. "Red Green Blue" triplets).

This field supports application data sharing through a setValuesPointer() method. See **SoMField** documentation for information on how to use this function.

**See also**

**SbColor4f**, **SoSFColorRGBA**

## Member Function Documentation

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

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

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

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

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

Implements **SoField**.

### void SoMFColorRGBA::copyFrom (const SoField & f) \[virtual\]

Copy value(s) from *f* into this field. *f* must be of the same type as this field.

Implements **SoField**.

### SbBool SoMFColorRGBA::isSame (const SoField & f) const \[virtual\]

Check for equal type and value(s).

Implements **SoField**.

### void SoMFColorRGBA::deleteAllValues (void ) \[protected\], \[virtual\]

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

Implements **SoMField**.

### void SoMFColorRGBA::copyValue (int to, int from) \[protected\], \[virtual\]

This method is used for moving values around internally within a multivalue field. It needs to be overridden in each field so it automatically takes care of running copy constructors where necessary.

Implements **SoMField**.

### const SbColor4f \* SoMFColorRGBA::getValues (const int start) const \[inline\]

Returns a pointer to the values array.

### void SoMFColorRGBA::initClass (void ) \[static\]

Internal method called upon initialization of the library (from **SoDB::init()**) to set up the type system.

### void SoMFColorRGBA::setValues (int start, int numarg, const float rgba\[\]\[4\])

Set *num* RGB color values, starting at index *start*.

### void SoMFColorRGBA::setHSVValues (int start, int numarg, const float hsva\[\]\[4\])

Set *num* HSV color values, starting at index *start*.

### void SoMFColorRGBA::setValue (const SbVec4f & vec)

Set the color array to a single value. *vec* is interpreted as a three element vector with the red, green and blue components, respectively.

### void SoMFColorRGBA::setValue (float r, float g, float b, float a)

Set the color array to a single value. *r*, *g* and *b* are the red, green and blue components, respectively.

### void SoMFColorRGBA::setValue (const float rgba\[4\])

Set the color array to a single value. *rgb* is a three element vector with the red, green and blue components, respectively.

### void SoMFColorRGBA::setHSVValue (float h, float s, float v, float a)

Set the color array to a single value. *h*, *s* and *v* are the hue, saturation and value components, respectively.

### void SoMFColorRGBA::setHSVValue (const float hsva\[4\])

Set the color array to a single value. *hsv* is a three element vector with the hue, saturation and value components, respectively.

### void SoMFColorRGBA::set1Value (int idx, const SbVec4f & vec)

Set the color at *idx*. *vec* is interpreted as a three element vector with the red, green and blue components, respectively.

### void SoMFColorRGBA::set1Value (int idx, float r, float g, float b, float a)

Set the color at *idx*. *r*, *g* and *b* is the red, green and blue components, respectively.

### void SoMFColorRGBA::set1Value (int idx, const float rgba\[4\])

Set the color at *idx*. *rgb* is interpreted as a three element vector with the red, green and blue components, respectively.

### void SoMFColorRGBA::set1HSVValue (int idx, float h, float s, float v, float a)

Set the color at *idx*. *h*, *s* and *v* is the hue, saturation and value components, respectively.

### void SoMFColorRGBA::set1HSVValue (int idx, const float hsva\[4\])

Set the color at *idx*. *hsv* is a three element vector with the hue, saturation and value components, respectively.

## Author

Generated automatically by Doxygen for Coin from the source code.
