trusty (3) SoTransform.3iv.gz

Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoTransform — general 3D geometric transformation node

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform

SYNOPSIS

       #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

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

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.

METHODS

                         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.

ACTION BEHAVIOR

       SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
          Accumulates transformation into the current transformation.

     SoGetMatrixAction
          Returns the matrix corresponding to the total transformation.

FILE FORMAT/DEFAULTS

       Transform {
          translation       0 0 0
          rotation          0 0 1  0
          scaleFactor       1 1 1
          scaleOrientation  0 0 1  0
          center            0 0 0
     }

SEE ALSO

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

                                                                                              SoTransform(3IV)()