Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

NAME

       SoTransformerManip — transform node with 3D interface for changing scaling, rotation, and translation

INHERITS FROM

       SoBase   >   SoFieldContainer   >   SoNode   >   SoTransformation  >  SoTransform  >  SoTransformManip  >
       SoTransformerManip

SYNOPSIS

       #include <Inventor/manips/SoTransformerManip.h>

          Fields from class SoTransform:

     SoSFVec3f           translation
     SoSFRotation        rotation
     SoSFVec3f           scaleFactor
     SoSFRotation        scaleOrientation
     SoSFVec3f           center

          Methods from class SoTransformerManip:

                         SoTransformerManip()
     static SoType       getClassTypeId()
     void                setLocateHighlighting(SbBool onOff )
     SbBool              isLocateHighlighting()
     void                unsquishKnobs()

          Methods from class SoTransformManip:

     SoDragger *         getDragger()
     SbBool              replaceNode(SoPath *p )
     SbBool              replaceManip(SoPath *p, SoTransform *newOne ) const

          Methods from class 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)

          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 is a new manipulator with some improvements over the older inventor manips.  It  has  the  following
       features:  [1]  full  interface  for  rotate,  translate,  and  scale,  [2]  better  feedback, [3] locate
       highlighting.

       SoTransformerManip is derived from SoTransform (by way of  SoTransformManip).  When  its  fields  change,
       nodes following it in the scene graph rotate, scale, and/or translate.

       As  a  subclass of SoTransformManip, this manipulator also has a 3D interface to edit some of its fields.
       In this case, the interface edits the scaleFactor, rotation and translation fields.

       A manipulator differs from a dragger. When you move a dragger, no other nodes are affected. When you move
       an SoTransformManip, other nodes move along with it. (See the reference page for SoTransformManip).

       The interface for an SoTransformerManip is exactly the same as that of the SoTransformerDragger. To  find
       out  more  about  the  interface,  see  the  reference page for SoTransformerDragger. To find out how the
       manipulator uses a dragger to provide its interface, see the reference page for SoTransformManip.

       On screen, this manipulator will surround the objects influenced by its motion. This is because it  turns
       on the surroundScale part of the dragger (See the reference page for SoSurroundScale)

METHODS

                         SoTransformerManip()
          Constructor.

     static SoType       getClassTypeId()
          Returns type identifier for this class.

     void                setLocateHighlighting(SbBool onOff )
     SbBool              isLocateHighlighting()
          Controls  whether  or  not  the  dragger  inside  this manip will perform locate highlighting is used.
          Default is TRUE.

     void                unsquishKnobs()
          Tells the dragger inside this manip  to  unsquish  its  rotation  and  scale  knobs  during  the  next
          traversal.  Ordinarily,  the knobs are only unsquished upon readin from file and when the mouse button
          is released at the end of a drag. If you want this to happen more often, then  you  should  call  this
          method.

FILE FORMAT/DEFAULTS

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

SEE ALSO

       SoTransformerDragger,   SoTransform,  SoCenterballManip,  SoHandleBoxManip,  SoJackManip,  SoTabBoxManip,
       SoTrackballManip, SoTransformBoxManip, SoTransformManip

                                                                                       SoTransformerManip(3IV)()