Open Inventor Reference
|
General 3D geometric transformation node. More...
#include <Inventor/nodes/SoTransform.h>
Public Member Functions | |
SoTransform () | |
Creates a transformation node with default settings. | |
void | pointAt (const SbVec3f &fromPoint, const SbVec3f &toPoint) |
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 . | |
void | getScaleSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
These return composite matrices that transform from object space to each of the spaces after the scale, rotation, or translation. | |
void | getRotationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
These return composite matrices that transform from object space to each of the spaces after the scale, rotation, or translation. | |
void | getTranslationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const |
These return composite matrices that transform from object space to each of the spaces after the scale, rotation, or translation. | |
void | multLeft (const SbMatrix &mat) |
These are convenience functions that combine the effects of a matrix transformation into the current transformation stored in this node. | |
void | multRight (const SbMatrix &mat) |
These are convenience functions that combine the effects of a matrix transformation into the current transformation stored in this node. | |
void | combineLeft (SoTransformation *nodeOnLeft) |
These are convenience functions that combine the effects of another transformation node into the current transformation stored in this node. | |
void | combineRight (SoTransformation *nodeOnRight) |
These are convenience functions that combine the effects of another transformation node into the current transformation stored in this node. | |
void | setMatrix (const SbMatrix &mat) |
Sets the fields in the node to implement the transformation represented by the given matrix. | |
void | recenter (const SbVec3f &newCenter) |
Changes the center of the transformation to the given point without affecting the overall effect of the transformation. | |
virtual void | doAction (SoAction *action) |
This method performs the "typical" operation of a node for any action. | |
virtual void | callback (SoCallbackAction *action) |
virtual void | GLRender (SoGLRenderAction *action) |
These virtual functions implement all of the actions for nodes, Most of the default implementations do nothing. | |
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
virtual void | getMatrix (SoGetMatrixAction *action) |
virtual void | pick (SoPickAction *action) |
Static Public Member Functions | |
static void | initClass () |
Initializes base node class. | |
Public Attributes | |
Fields | |
SoSFVec3f | translation |
Translation vector. | |
SoSFRotation | rotation |
Rotation specification. | |
SoSFVec3f | scaleFactor |
Scale factors. | |
SoSFRotation | scaleOrientation |
Rotational orientation for scale. | |
SoSFVec3f | center |
Origin for scale and rotation. | |
Protected Member Functions | |
virtual | ~SoTransform () |
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.)
Transform { translation 0 0 0 rotation 0 0 1 0 scaleFactor 1 1 1 scaleOrientation 0 0 1 0 center 0 0 0 }
Definition at line 102 of file SoTransform.h.
SoTransform::SoTransform | ( | ) |
virtual SoTransform::~SoTransform | ( | ) | [protected, virtual] |
virtual void SoTransform::callback | ( | SoCallbackAction * | action | ) | [virtual] |
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
void SoTransform::combineLeft | ( | SoTransformation * | nodeOnLeft | ) |
This method premultiplies the transformation.
void SoTransform::combineRight | ( | SoTransformation * | nodeOnRight | ) |
The first method premultiplies the transformation and the This method postmultiplies the transformation.
virtual void SoTransform::doAction | ( | SoAction * | action | ) | [virtual] |
The default implementation does nothing.
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
virtual void SoTransform::getBoundingBox | ( | SoGetBoundingBoxAction * | action | ) | [virtual] |
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
virtual void SoTransform::getMatrix | ( | SoGetMatrixAction * | action | ) | [virtual] |
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
virtual void SoTransform::GLRender | ( | SoGLRenderAction * | action | ) | [virtual] |
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
static void SoTransform::initClass | ( | ) | [static] |
Reimplemented from SoTransformation.
Reimplemented in SoCenterballManip, SoHandleBoxManip, SoJackManip, SoTabBoxManip, SoTrackballManip, SoTransformBoxManip, SoTransformerManip, and SoTransformManip.
void SoTransform::multLeft | ( | const SbMatrix & | mat | ) |
This method premultiplies the transformation.
void SoTransform::multRight | ( | const SbMatrix & | mat | ) |
This method postmultiplies the transformation.
virtual void SoTransform::pick | ( | SoPickAction * | action | ) | [virtual] |
Reimplemented from SoNode.
Reimplemented in SoTransformManip.
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 | ) |
void SoTransform::setMatrix | ( | const SbMatrix & | mat | ) |
Note that invalid matrices (such as singular ones) have undefined results.
Definition at line 123 of file SoTransform.h.
Definition at line 114 of file SoTransform.h.
Definition at line 117 of file SoTransform.h.
Definition at line 120 of file SoTransform.h.
Definition at line 111 of file SoTransform.h.