Scroll to navigation

SoDecomposeMatrix(3IV)() SoDecomposeMatrix(3IV)()

NAME

SoDecomposeMatrix — decomposes transformation matrices into values for translation, rotation, and scale

INHERITS FROM

SoBase > SoFieldContainer > SoEngine > SoDecomposeMatrix

SYNOPSIS

#include <Inventor/engines/SoCompose.h>
 

Inputs from class SoDecomposeMatrix:
 

SoMFMatrix matrix
 

SoMFVec3f center
 

Outputs from class SoDecomposeMatrix:
 

(SoMFVec3f) translation
 

(SoMFRotation) rotation
 

(SoMFVec3f) scaleFactor
 

(SoMFRotation) scaleOrientation
 

Methods from class SoDecomposeMatrix:
 

SoDecomposeMatrix()
 

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

METHODS


SoDecomposeMatrix()
 

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