SoTransform Class Reference
[Transforms]

General 3D geometric transformation node. More...

#include <Inventor/nodes/SoTransform.h>

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

List of all members.

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

Detailed Description

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

FILE FORMAT/DEFAULT

ACTION BEHAVIOR

SEE ALSO

SoMatrixTransform, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoTransformManip, SoTransformSeparator, SoTranslation


Constructor & Destructor Documentation

SoTransform::SoTransform (  ) 

Creates a transformation node with default settings.


Member Function Documentation

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.

void SoTransform::getRotationSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const

Returns composite matrix that transforms from object space to rotation space (the space after the scale and rotation).

void SoTransform::getScaleSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const

Returns composite matrix that transforms from object space to scale space (the space after the scale).

void SoTransform::getTranslationSpaceMatrix ( SbMatrix mat,
SbMatrix inv 
) const

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.

void SoTransform::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 .

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.


Member Data Documentation

Origin for scale and rotation.

Rotation specification.

Scale factors.

Non-positive values may cause undesirable results.

Rotational orientation for scale.

Translation vector.


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

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/