General 3D geometric transformation node. More...
#include <Inventor/nodes/SoTransform.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoTransform () | |
void | pointAt (const SbVec3f &fromPoint, const SbVec3f &toPoint) |
void | getScaleSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
void | getRotationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
void | getTranslationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
void | multLeft (const SbMatrix &mat) |
void | multRight (const SbMatrix &mat) |
void | combineLeft (SoTransformation *nodeOnLeft) |
void | combineRight (SoTransformation *nodeOnRight) |
void | setMatrix (const SbMatrix &mat) |
void | recenter (const SbVec3f &newCenter) |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoSFVec3f | translation |
SoSFRotation | rotation |
SoSFVec3f | scaleFactor |
SoSFRotation | scaleOrientation |
SoSFVec3f | center |
General 3D geometric transformation node.
This node defines a geometric 3D transformation consisting of (in order) a (possibly) non-uniform scale about an arbitrary point, a rotation about an arbitrary point and axis, and a translation. (While the transformations can be thought of as being applied in that order, matrices are actually premultiplied in the opposite order. Therefore, the operations are listed in the reverse order throughout this reference page.)
translation | 0 0 0 |
rotation | 0 0 1 0 |
scaleFactor | 1 1 1 |
scaleOrientation | 0 0 1 0 |
center | 0 0 0 |
SoGetMatrixAction
Returns the matrix corresponding to the total transformation.
SoMatrixTransform, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoTransformManip, SoTransformSeparator, SoTranslation
SoTransform::SoTransform | ( | ) |
Creates a transformation node with default settings.
void SoTransform::combineLeft | ( | SoTransformation * | nodeOnLeft | ) |
Convenience function that combines the effects of another transformation node into the current transformation stored in this node.
This method premultiplies the transformation.
void SoTransform::combineRight | ( | SoTransformation * | nodeOnRight | ) |
Convenience function that combines the effects of another transformation node into the current transformation stored in this node.
This method postmultiplies the transformation.
static SoType SoTransform::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoTransformation.
Reimplemented in SoCenterballManip, SoHandleBoxManip, SoJackManip, SoTabBoxManip, SoTrackballManip, SoTransformBoxManip, SoTransformerManip, and SoTransformManip.
Returns composite matrix that transforms from object space to rotation space (the space after the scale and rotation).
Returns composite matrix that transforms from object space to scale space (the space after the scale).
Returns composite matrix that transforms from object space to translation space (the space after scale, rotation, and translation).
virtual SoType SoTransform::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoTransformation.
Reimplemented in SoCenterballManip, SoHandleBoxManip, SoJackManip, SoTabBoxManip, SoTrackballManip, SoTransformBoxManip, SoTransformerManip, and SoTransformManip.
void SoTransform::multLeft | ( | const SbMatrix & | mat | ) |
Convenience function that combines the effects of a matrix transformation into the current transformation stored in this node.
This method premultiplies the transformation.
void SoTransform::multRight | ( | const SbMatrix & | mat | ) |
Convenience function that combines the effects of a matrix transformation into the current transformation stored in this node.
This method postmultiplies the transformation.
Sets the node to translate the origin to the fromPoint and rotate the negative z-axis (0,0,-1) to lie on the vector from fromPoint to toPoint .
This always tries to keep the "up" direction the positive y-axis, unless that is impossible. All current field values in the node are replaced.
void SoTransform::recenter | ( | const SbVec3f & | newCenter | ) |
Changes the center of the transformation to the given point without affecting the overall effect of the transformation.
void SoTransform::setMatrix | ( | const SbMatrix & | mat | ) |
Sets the fields in the node to implement the transformation represented by the given matrix.
Note that invalid matrices (such as singular ones) have undefined results.
Origin for scale and rotation.
Rotation specification.
Scale factors.
Non-positive values may cause undesirable results.
Rotational orientation for scale.
Translation vector.