DOKK / manpages / debian 11 / inventor-doc / SoComposeMatrix.3iv.en
SoComposeMatrix(3IV)() SoComposeMatrix(3IV)()

SoComposeMatrix — composes a transformation matrix

SoBase > SoFieldContainer > SoEngine > SoComposeMatrix

#include <Inventor/engines/SoCompose.h>


Inputs from class SoComposeMatrix:


SoMFVec3f translation

SoMFRotation rotation

SoMFVec3f scaleFactor

SoMFRotation scaleOrientation

SoMFVec3f center


Outputs from class SoComposeMatrix:


(SoMFMatrix) matrix


Methods from class SoComposeMatrix:


SoComposeMatrix()


Methods from class SoEngine:


static SoType getClassTypeId()

virtual int getOutputs(SoEngineOutputList &list) const

SoEngineOutput * getOutput(const SbName &outputName) const

SbBool getOutputName(const SoEngineOutput *output, SbName &outputName) const

SoEngine * copy() const

static SoEngine * getByName(const SbName &name)

static int getByName(const SbName &name, SoEngineList &list)


Methods from class SoFieldContainer:


void setToDefaults()

SbBool hasDefaultValues() const

SbBool fieldsAreEqual(const SoFieldContainer *fc) const

void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)

SbBool set(const char *fieldDataString)

void get(SbString &fieldDataString)

virtual int getFields(SoFieldList &resultList) const

virtual SoField * getField(const SbName &fieldName) const

SbBool getFieldName(const SoField *field, SbName &fieldName) const

SbBool isNotifyEnabled() const

SbBool enableNotify(SbBool flag)


Methods from class SoBase:


void ref()

void unref() const

void unrefNoDelete() const

void touch()

virtual SoType getTypeId() const

SbBool isOfType(SoType type) const

virtual void setName(const SbName &name)

virtual SbName getName() const

This engine has inputs that specify values for translation, rotation, scale, and center of transformation. As output, it produces a transformation matrix that transforms objects into the space specified by the scale, rotation, and translation inputs (in that order).

The input fields can have multiple values, allowing the engine to compose several matrices in parallel. Some inputs may have more values than others. In such cases, the last value of the shorter inputs will be repeated as necessary.


SoMFVec3f translation

Translation in x, y, and z.



SoMFRotation rotation

Rotation.



SoMFVec3f scaleFactor

Scale factors in x, y, and z.



SoMFRotation scaleOrientation

Rotational space for scaling.



SoMFVec3f center

Center point for scaling and rotating.



(SoMFMatrix) matrix

Transformation matrix that transforms from object space into the space specified by the inputs.



SoComposeMatrix()

Constructor


ComposeMatrix {

translation 0 0 0 rotation 0 0 1 0 scaleFactor 1 1 1 scaleOrientation 0 0 1 0 center 0 0 0
}

SoDecomposeMatrix, SoEngineOutput