---
name: "SoSFMatrix"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoSFMatrix/3iv"
---

# SoSFMatrix(3iv)

field containing a 4x4 matrix

## NAME

SoSFMatrix — field containing a 4x4 matrix

## INHERITS FROM

SoField \> SoSField \> SoSFMatrix

## SYNOPSIS

**#include \<Inventor/fields/SoSFMatrix.h\>**

Methods from class SoSFMatrix:

**void**	**setValue(float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34, float a41, float a42, float a43, float a44)**\
 **static SoType**	**getClassTypeId()**\
 **virtual void**	**getTypeId() const**\
 **const SbMatrix &**	**getValue() const**\
 **const SbMatrix &**	**operator =(const SbMatrix & newValue)**\
 **void**	**setValue(const SbMatrix & newValue)**\
 **int**	**operator ==(const SoSFMatrix &f) const**\
 **int**	**operator !=(const SoSFMatrix &f) const**

Methods from class SoField:

**void**	**setIgnored(SbBool ignore)**\
 **SbBool**	**isIgnored() const**\
 **SbBool**	**isDefault() const**\
 **virtual SbBool**	**isOfType(SoType type) const**\
 **SbBool**	**set(const char \*valueString)**\
 **void**	**get(SbString &valueString)**\
 **void**	**touch()**\
 **SbBool**	**connectFrom(SoField \*fromField)**\
 **SbBool**	**connectFrom(SoEngineOutput \*fromEngine)**\
 **void**	**disconnect()**\
 **SbBool**	**isConnected() const**\
 **SbBool**	**isConnectedFromField() const**\
 **SbBool**	**getConnectedField(SoField \*&writingField) const**\
 **SbBool**	**isConnectedFromEngine() const**\
 **SbBool**	**getConnectedEngine(SoEngineOutput \*&engineOutput) const**\
 **void**	**enableConnection(SbBool flag)**\
 **SbBool**	**isConnectionEnabled() const**\
 **int**	**getForwardConnections(SoFieldList &list) const**\
 **SoFieldContainer \***	**getContainer() const**

## DESCRIPTION

**A field containing a transformation matrix (an SbMatrix**).

**SoSFMatrices** are written to file as 16 floating point numbers separated by whitespace. For example, an identity matrix is written as:

```
1 0 0 0  0 1 0 0  0 0 1 0  0 0 0 1
```

## METHODS

**void**	**setValue(float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34, float a41, float a42, float a43, float a44)**\
 Sets this field to contain the matrix given by the 16 values. For a translation matrix, the x, y and z translations should be in the a41, a42, and a43 arguments.

**static SoType**	**getClassTypeId()**\
 **virtual void**	**getTypeId() const**\
 Returns the type for this class or a particular object of this class.

**const SbMatrix &**	**getValue() const**\
 Returns this field's value.

**const SbMatrix &**	**operator =(const SbMatrix & newValue)**\
 **void**	**setValue(const SbMatrix & newValue)**\
 Sets this field to **newValue**.

**int**	**operator ==(const SoSFMatrix &f) const**\
 **int**	**operator !=(const SoSFMatrix &f) const**\
 Returns TRUE if **f** is of the same type and has the same value as this field.

## SEE ALSO

**SoField, SoSField, SoMFMatrix, SbMatrix**
