SoTransform(3IV)() | SoTransform(3IV)() |
SoTransform — general 3D geometric transformation node
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform
#include <Inventor/nodes/SoTransform.h>
Fields from class SoTransform:
SoSFVec3f translation
SoSFRotation rotation
SoSFVec3f scaleFactor
SoSFRotation scaleOrientation
SoSFVec3f center
Methods from class SoTransform:
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 *nodeOnRight)
void combineRight(SoTransformation *nodeOnLeft)
void setMatrix(const SbMatrix &mat)
void recenter(const SbVec3f &newCenter)
static SoType getClassTypeId()
Methods from class SoNode:
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE)
const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name,
SoNodeList &list)
Methods from class SoFieldContainer:
void setToDefaults()
SbBool hasDefaultValues() const
SbBool fieldsAreEqual(const SoFieldContainer *fc)
const
void copyFieldValues(const SoFieldContainer *fc,
SbBool copyConnections = FALSE)
SbBool set(const char *fieldDataString)
void get(SbString &fieldDataString)
virtual int getFields(SoFieldList &resultList)
const
virtual SoField * getField(const SbName
&fieldName) const
SbBool getFieldName(const SoField *field, SbName
&fieldName) const
SbBool isNotifyEnabled() const
SbBool enableNotify(SbBool flag)
Methods from class SoBase:
void ref()
void unref() const
void unrefNoDelete() const
void touch()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName getName() const
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.)
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.
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. 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 getScaleSpaceMatrix(SbMatrix &mat, SbMatrix
&inv) const
void getRotationSpaceMatrix(SbMatrix &mat,
SbMatrix &inv) const
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)
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. The
first method premultiplies the transformation and the second postmultiplies
it.
void combineLeft(SoTransformation *nodeOnRight)
void combineRight(SoTransformation *nodeOnLeft)
These are convenience functions that combine the effects of another
transformation node into the current transformation stored in this node. The
first method premultiplies the transformation and the second postmultiplies
it.
void 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.
void recenter(const SbVec3f &newCenter)
Changes the center of the transformation to the given point without affecting
the overall effect of the transformation.
static SoType getClassTypeId()
Returns type identifier for this class.
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,
SoRayPickAction
Accumulates transformation into the current transformation.
SoGetMatrixAction
Returns the matrix corresponding to the total transformation.
Transform {
translation 0 0 0 rotation 0 0 1 0 scaleFactor 1 1 1 scaleOrientation 0 0 1 0 center 0 0 0
}
SoMatrixTransform, SoResetTransform, SoRotation, SoRotationXYZ, SoScale, SoTransformManip, SoTransformSeparator, SoTranslation