1SoTransform(3IV)()                                          SoTransform(3IV)()
2
3
4

NAME

6       SoTransform — general 3D geometric transformation node
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform
10

SYNOPSIS

12       #include <Inventor/nodes/SoTransform.h>
13
14          Fields from class SoTransform:
15
16     SoSFVec3f           translation
17     SoSFRotation        rotation
18     SoSFVec3f           scaleFactor
19     SoSFRotation        scaleOrientation
20     SoSFVec3f           center
21
22          Methods from class SoTransform:
23
24                         SoTransform()
25     void                pointAt(const   SbVec3f   &fromPoint,  const  SbVec3f
26                              &toPoint)
27     void                getScaleSpaceMatrix(SbMatrix  &mat,  SbMatrix   &inv)
28                              const
29     void                getRotationSpaceMatrix(SbMatrix  &mat, SbMatrix &inv)
30                              const
31     void                getTranslationSpaceMatrix(SbMatrix   &mat,   SbMatrix
32                              &inv) const
33     void                multLeft(const SbMatrix &mat)
34     void                multRight(const SbMatrix &mat)
35     void                combineLeft(SoTransformation *nodeOnRight)
36     void                combineRight(SoTransformation *nodeOnLeft)
37     void                setMatrix(const SbMatrix &mat)
38     void                recenter(const SbVec3f &newCenter)
39     static SoType       getClassTypeId()
40
41          Methods from class SoNode:
42
43     void                setOverride(SbBool state)
44     SbBool              isOverride() const
45     SoNode *            copy(SbBool copyConnections = FALSE) const
46     virtual SbBool      affectsState() const
47     static SoNode *     getByName(const SbName &name)
48     static int          getByName(const SbName &name, SoNodeList &list)
49
50          Methods from class SoFieldContainer:
51
52     void                setToDefaults()
53     SbBool              hasDefaultValues() const
54     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
55     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
56                              copyConnections = FALSE)
57     SbBool              set(const char *fieldDataString)
58     void                get(SbString &fieldDataString)
59     virtual int         getFields(SoFieldList &resultList) const
60     virtual SoField *   getField(const SbName &fieldName) const
61     SbBool              getFieldName(const SoField *field, SbName &fieldName)
62                              const
63     SbBool              isNotifyEnabled() const
64     SbBool              enableNotify(SbBool flag)
65
66          Methods from class SoBase:
67
68     void                ref()
69     void                unref() const
70     void                unrefNoDelete() const
71     void                touch()
72     virtual SoType      getTypeId() const
73     SbBool              isOfType(SoType type) const
74     virtual void        setName(const SbName &name)
75     virtual SbName      getName() const
76
77

DESCRIPTION

79       This  node  defines  a  geometric  3D  transformation consisting of (in
80       order) a (possibly) non-uniform scale about an arbitrary point, a rota‐
81       tion  about  an arbitrary point and axis, and a translation. (While the
82       transformations can be thought of  as  being  applied  in  that  order,
83       matrices  are  actually premultiplied in the opposite order. Therefore,
84       the operations are listed in the reverse order throughout  this  refer‐
85       ence page.)
86

FIELDS

88     SoSFVec3f           translation
89          Translation vector.
90
91     SoSFRotation        rotation
92          Rotation specification.
93
94     SoSFVec3f           scaleFactor
95          Scale factors.
96
97     SoSFRotation        scaleOrientation
98          Rotational orientation for scale.
99
100     SoSFVec3f           center
101          Origin for scale and rotation.
102
103

METHODS

105                         SoTransform()
106          Creates a transformation node with default settings.
107
108     void                pointAt(const   SbVec3f   &fromPoint,  const  SbVec3f
109                              &toPoint)
110          Sets the node to translate the origin to the  fromPoint  and  rotate
111          the  negative z-axis (0,0,-1) to lie on the vector from fromPoint to
112          toPoint. This always tries to keep the "up" direction  the  positive
113          y-axis,  unless that is impossible.  All current field values in the
114          node are replaced.
115
116     void                getScaleSpaceMatrix(SbMatrix  &mat,  SbMatrix   &inv)
117                              const
118     void                getRotationSpaceMatrix(SbMatrix  &mat, SbMatrix &inv)
119                              const
120     void                getTranslationSpaceMatrix(SbMatrix   &mat,   SbMatrix
121                              &inv) const
122          These  return composite matrices that transform from object space to
123          each of the spaces after the scale, rotation, or translation.
124
125     void                multLeft(const SbMatrix &mat)
126     void                multRight(const SbMatrix &mat)
127          These are convenience functions that combine the effects of a matrix
128          transformation  into the current transformation stored in this node.
129          The first method premultiplies the  transformation  and  the  second
130          postmultiplies it.
131
132     void                combineLeft(SoTransformation *nodeOnRight)
133     void                combineRight(SoTransformation *nodeOnLeft)
134          These  are convenience functions that combine the effects of another
135          transformation node into the current transformation stored  in  this
136          node. The first method premultiplies the transformation and the sec‐
137          ond postmultiplies it.
138
139     void                setMatrix(const SbMatrix &mat)
140          Sets the fields in the node to implement the  transformation  repre‐
141          sented by the given matrix. Note that invalid matrices (such as sin‐
142          gular ones) have undefined results.
143
144     void                recenter(const SbVec3f &newCenter)
145          Changes the center of the transformation to the given point  without
146          affecting the overall effect of the transformation.
147
148     static SoType       getClassTypeId()
149          Returns type identifier for this class.
150
151

ACTION BEHAVIOR

153       SoGLRenderAction,  SoCallbackAction, SoGetBoundingBoxAction, SoRayPick‐
154       Action
155          Accumulates transformation into the current transformation.
156
157     SoGetMatrixAction
158          Returns the matrix corresponding to the total transformation.
159
160

FILE FORMAT/DEFAULTS

162       Transform {
163          translation       0 0 0
164          rotation          0 0 1  0
165          scaleFactor       1 1 1
166          scaleOrientation  0 0 1  0
167          center            0 0 0
168     }
169

SEE ALSO

171       SoMatrixTransform,   SoResetTransform,    SoRotation,    SoRotationXYZ,
172       SoScale, SoTransformManip, SoTransformSeparator, SoTranslation
173
174
175
176
177                                                            SoTransform(3IV)()
Impressum