SoComposeMatrix — composes a transformation matrix
Contents
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.
File Format/Defaults
ComposeMatrix{translation000rotation0010scaleFactor111scaleOrientation0010center000}Inherits From
SoBase > SoFieldContainer > SoEngine > SoComposeMatrix
Inputs
SoMFVec3ftranslation
Translation in x, y, and z.
SoMFRotationrotation
Rotation.
SoMFVec3fscaleFactor
Scale factors in x, y, and z.
SoMFRotationscaleOrientation
Rotational space for scaling.
SoMFVec3fcenter
Center point for scaling and rotating.
Methods
SoComposeMatrix()
Constructor
Name
SoComposeMatrix — composes a transformation matrix
Outputs
(SoMFMatrix)matrix
Transformation matrix that transforms from object space into the space specified by the inputs.
See Also
SoDecomposeMatrix,SoEngineOutputSoComposeMatrix(3IV)()
Synopsis
#include<Inventor/engines/SoCompose.h>
Inputs from class SoComposeMatrix:
SoMFVec3ftranslationSoMFRotationrotationSoMFVec3fscaleFactorSoMFRotationscaleOrientationSoMFVec3fcenter
Outputs from class SoComposeMatrix:
(SoMFMatrix)matrix
Methods from class SoComposeMatrix:
SoComposeMatrix()
Methods from class SoEngine:
staticSoTypegetClassTypeId()virtualintgetOutputs(SoEngineOutputList&list)constSoEngineOutput*getOutput(constSbName&outputName)constSbBoolgetOutputName(constSoEngineOutput*output,SbName&outputName)constSoEngine*copy()conststaticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const