SoComposeMatrix(3IV)

NAME
SoComposeMatrix — composes a transformation matrix

INHERITS FROM
SoBase > SoFieldContainer > SoEngine > SoComposeMatrix

SYNOPSIS
#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

DESCRIPTION
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.

INPUTS
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.

OUTPUTS
(SoMFMatrix)
matrix
Transformation matrix that transforms from object space into the space specified by the inputs.

METHODS

SoComposeMatrix()
Constructor

FILE FORMAT/DEFAULTS
ComposeMatrix {
translation	0 0 0
rotation	0 0 1  0
scaleFactor	1 1 1
scaleOrientation	0 0 1  0
center	0 0 0
}

SEE ALSO
SoDecomposeMatrix, SoEngineOutput