1SoDecomposeMatrix(3IV)()                              SoDecomposeMatrix(3IV)()
2
3
4

NAME

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

INHERITS FROM

10       SoBase > SoFieldContainer > SoEngine > SoDecomposeMatrix
11

SYNOPSIS

13       #include <Inventor/engines/SoCompose.h>
14
15          Inputs from class SoDecomposeMatrix:
16
17     SoMFMatrix          matrix
18     SoMFVec3f           center
19
20          Outputs from class SoDecomposeMatrix:
21
22     (SoMFVec3f)         translation
23     (SoMFRotation)      rotation
24     (SoMFVec3f)         scaleFactor
25     (SoMFRotation)      scaleOrientation
26
27          Methods from class SoDecomposeMatrix:
28
29                         SoDecomposeMatrix()
30
31          Methods from class SoEngine:
32
33     static SoType       getClassTypeId()
34     virtual int         getOutputs(SoEngineOutputList &list) const
35     SoEngineOutput *    getOutput(const SbName &outputName) const
36     SbBool              getOutputName(const  SoEngineOutput  *output,  SbName
37                              &outputName) const
38     SoEngine *          copy() const
39     static SoEngine *   getByName(const SbName &name)
40     static int          getByName(const SbName &name, SoEngineList &list)
41
42          Methods from class SoFieldContainer:
43
44     void                setToDefaults()
45     SbBool              hasDefaultValues() const
46     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
47     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
48                              copyConnections = FALSE)
49     SbBool              set(const char *fieldDataString)
50     void                get(SbString &fieldDataString)
51     virtual int         getFields(SoFieldList &resultList) const
52     virtual SoField *   getField(const SbName &fieldName) const
53     SbBool              getFieldName(const SoField *field, SbName &fieldName)
54                              const
55     SbBool              isNotifyEnabled() const
56     SbBool              enableNotify(SbBool flag)
57
58          Methods from class SoBase:
59
60     void                ref()
61     void                unref() const
62     void                unrefNoDelete() const
63     void                touch()
64     virtual SoType      getTypeId() const
65     SbBool              isOfType(SoType type) const
66     virtual void        setName(const SbName &name)
67     virtual SbName      getName() const
68
69

DESCRIPTION

71       This  engine  takes  as  input  a transformation matrix and a center of
72       transformation. As output the engine produces the translation, rotation
73       and scale values derived from the matrix.
74
75       The  input  fields  can  have  multiple  values, allowing the engine to
76       decompose several matrices in parallel. One of the inputs may have more
77       values  than  the  other.  In  that case, the last value of the shorter
78       input will be repeated as necessary.
79

INPUTS

81     SoMFMatrix          matrix
82          The 4x4 transformation matrix.
83
84     SoMFVec3f           center
85          The center of transformations.
86
87

OUTPUTS

89     (SoMFVec3f)         translation
90          Derived translation in x, y, and z.
91
92     (SoMFRotation)      rotation
93          Derived rotation.
94
95     (SoMFVec3f)         scaleFactor
96          Derived scale values in x, y, and z.
97
98     (SoMFRotation)      scaleOrientation
99          Derived rotational space for scaling.
100
101

METHODS

103                         SoDecomposeMatrix()
104          Constructor
105
106

FILE FORMAT/DEFAULTS

108       DecomposeMatrix {
109          matrix  1 0 0 0
110                  0 1 0 0
111                  0 0 1 0
112                  0 0 0 1
113          center  0 0 0
114     }
115

SEE ALSO

117       SoComposeMatrix, SoEngineOutput
118
119
120
121
122                                                      SoDecomposeMatrix(3IV)()
Impressum