SoDecomposeMatrix(3IV)
SoDecomposeMatrix (SoDecmpsMx) - decomposes transformation matrices into values for translation, rotation, and scale
Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.
NAME SoDecomposeMatrix (SoDecmpsMx) - decomposes transformation matrices into values for translation, rotation, and scale INHERITS FROM SoBase > SoFieldContainer > SoEngine > SoDecomposeMatrix SYNOPSIS #include <Inventor_c/engines/SoCompose.h> typedef SoDecomposeMatrix SoDecmpsMx Inputs from class SoDecomposeMatrix: SoMFMatrix matrix SoMFVec3f center Outputs from class SoDecomposeMatrix: (SoMFVec3f) translation (SoMFRotation) rotation (SoMFVec3f) scaleFactor (SoMFRotation) scaleOrientation Functions from class SoDecomposeMatrix: SoDecomposeMatrix * SoDecmpsMxCreate() Functions from class SoEngine: SoType SoDecmpsMxGetTypeId() int SoDecmpsMxGetOuts(const SoDecmpsMx *this, SoEngineOutputList *list) SoEngineOutput * SoDecmpsMxGetOut(const SoDecmpsMx *this, const char *outputName) SbBool SoDecmpsMxGetOutName(const SoDecmpsMx *this, const SoEngineOutput *output, SbName *outputName) SoEngine * SoDecmpsMxCopy(const SoDecmpsMx *this) SoEngine * SoDecmpsMxGetByName(const char *name) int SoDecmpsMxGetByNameList(const char *name, SoEngineList *list) Functions from class SoFieldContainer: SoType SoDecmpsMxGetClassTypeId() void SoDecmpsMxSetToDflts(SoDecmpsMx *this) SbBool SoDecmpsMxHasDfltVals(const SoDecmpsMx *this) SbBool SoDecmpsMxFldsAreEq(const SoDecmpsMx *this, const SoFieldContainer *fc) void SoDecmpsMxCopyFieldVals(SoDecmpsMx *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) SbBool SoDecmpsMxSet(SoDecmpsMx *this, const char *fieldDataString) void SoDecmpsMxGet(SoDecmpsMx *this, SbString *fieldDataString) int SoDecmpsMxGetFields(const SoDecmpsMx *this, SoFieldList *resultList) SoField * SoDecmpsMxGetField(const SoDecmpsMx *this, const char *fieldName) SbBool SoDecmpsMxGetFieldName(const SoDecmpsMx *this, const SoField *field, SbName *fieldName) SbBool SoDecmpsMxIsNotifyEnabled(const SoDecmpsMx *this) SbBool SoDecmpsMxEnableNotify(SoDecmpsMx *this, SbBool flag) Functions from class SoBase: void SoDecmpsMxRef(SoDecmpsMx *this) void SoDecmpsMxUnref(const SoDecmpsMx *this) void SoDecmpsMxUnrefNoDelete(const SoDecmpsMx *this) void SoDecmpsMxTouch(SoDecmpsMx *this) SbBool SoDecmpsMxIsOfType(const SoDecmpsMx *this, SoType type) void SoDecmpsMxSetName(SoDecmpsMx *this, const char *name) SbName SoDecmpsMxGetName(const SoDecmpsMx *this) DESCRIPTION This engine takes as input a transformation matrix and a center of transformation. As output the engine produces the translation, rotation and scale values derived from the matrix. The input fields can have multiple values, allowing the engine to decompose several matrices in parallel. One of the inputs may have more values than the other. In that case, the last value of the shorter input will be repeated as necessary. INPUTS SoMFMatrix matrix The 4x4 transformation matrix. SoMFVec3f center The center of transformations. OUTPUTS (SoMFVec3f) translation Derived translation in x, y, and z. (SoMFRotation) rotation Derived rotation. (SoMFVec3f) scaleFactor Derived scale values in x, y, and z. (SoMFRotation) scaleOrientation Derived rotational space for scaling. FUNCTIONS SoDecomposeMatrix * SoDecmpsMxCreate() Constructor FILE FORMAT/DEFAULTS DecomposeMatrix { matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 center 0 0 0 } SEE ALSO SoComposeMatrix, SoEngineOutput