Open Inventor Reference
SoTransform Class Reference

General 3D geometric transformation node. More...

#include <Inventor/nodes/SoTransform.h>

Inheritance diagram for SoTransform:
SoTransformation SoNode SoFieldContainer SoBase SoTransformManip SoCenterballManip SoHandleBoxManip SoJackManip SoTabBoxManip SoTrackballManip SoTransformBoxManip SoTransformerManip

List of all members.

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 ()

Detailed Description

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.)

File Format/Default
Transform {
  translation 0 0 0
  rotation 0 0 1 0
  scaleFactor 1 1 1
  scaleOrientation 0 0 1 0
  center 0 0 0
}
Action Behavior
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
Accumulates transformation into the current transformation.
SoGetMatrixAction
Returns the matrix corresponding to the total transformation.
See Also
SoMatrixTransform, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoTransformManip, SoTransformSeparator, SoTranslation

Definition at line 102 of file SoTransform.h.


Constructor & Destructor Documentation

SoTransform::SoTransform ( )
virtual SoTransform::~SoTransform ( ) [protected, virtual]

Member Function Documentation

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.

void SoTransform::getRotationSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const
void SoTransform::getScaleSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const
void SoTransform::getTranslationSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const
virtual void SoTransform::GLRender ( SoGLRenderAction action) [virtual]

Reimplemented from SoNode.

Reimplemented in SoTransformManip.

static void SoTransform::initClass ( ) [static]
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.

void SoTransform::pointAt ( const SbVec3f fromPoint,
const SbVec3f 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)
void SoTransform::setMatrix ( const SbMatrix mat)

Note that invalid matrices (such as singular ones) have undefined results.


Member Data Documentation

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 111 of file SoTransform.h.


The documentation for this class was generated from the following file: