1SoDecomposeMatrix(3IV)() SoDecomposeMatrix(3IV)()
2
3
4
6 SoDecomposeMatrix — decomposes transformation matrices into values for
7 translation, rotation, and scale
8
10 SoBase > SoFieldContainer > SoEngine > SoDecomposeMatrix
11
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
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
81 SoMFMatrix matrix
82 The 4x4 transformation matrix.
83
84 SoMFVec3f center
85 The center of transformations.
86
87
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
103 SoDecomposeMatrix()
104 Constructor
105
106
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
117 SoComposeMatrix, SoEngineOutput
118
119
120
121
122 SoDecomposeMatrix(3IV)()