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

NAME

       SoHandleBoxManip   —  transform  node  with  3D  Interface  for  Editing  ScaleFactor  and
       Translation

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform >  SoTransformManip  >
       SoHandleBoxManip

SYNOPSIS

       #include <Inventor/manips/SoHandleBoxManip.h>

          Fields from class SoTransform:

     SoSFVec3f           translation
     SoSFRotation        rotation
     SoSFVec3f           scaleFactor
     SoSFRotation        scaleOrientation
     SoSFVec3f           center

          Methods from class SoHandleBoxManip:

                         SoHandleBoxManip()
     static SoType       getClassTypeId()

          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

       SoHandleBoxManip 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 manip also has a 3D interface to edit some of its
       fields. In this case, the interface edits the scaleFactor 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  SoHandleBoxManip  is  exactly   the   same   as   that   of   the
       SoHandleBoxDragger.  To  find  out  more  about  the interface, see the reference page for
       SoHandleBoxDragger. To find out  how  the  manipulator  uses  a  dragger  to  provide  its
       interface, see the reference page for SoTransformManip.

       On  screen, this manip 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

                         SoHandleBoxManip()
          Constructor.

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

FILE FORMAT/DEFAULTS

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

SEE ALSO

       SoCenterballManip,   SoHandleBoxDragger,   SoJackManip,  SoTabBoxManip,  SoTrackballManip,
       SoTransformBoxManip, SoTransformerManip, SoTransform, SoTransformManip

                                                                          SoHandleBoxManip(3IV)()