SoTransformerManip(3IV)

SoTransformerManip (SoTransformerManip) - transform node with 3D interface for changing scaling, rotation, and translation

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoTransformerManip (SoTransformerManip) - transform node with 3D
     interface for changing scaling, rotation, and translation

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

SYNOPSIS
     #include <Inventor_c/manips/SoTransformerManip.h>

          Fields from class SoTransform:

     SoSFVec3f           translation
     SoSFRotation        rotation
     SoSFVec3f           scaleFactor
     SoSFRotation        scaleOrientation
     SoSFVec3f           center

          Functions from class SoTransformerManip:

     SoTransformerManip *  SoTransformerManipCreate()
     SoType                SoTransformerManipGetClassTypeId()
     void                  SoTransformerManipSetLocateHighlighting(SoTransformerManip
                                *this, SbBool onOff )
     SbBool                SoTransformerManipIsLocateHighlighting(SoTransformerManip
                                *this)
     void                  SoTransformerManipUnsquishKnobs(SoTransformerManip
                                *this)

          Functions from class SoTransformManip:

     SoDragger *         SoTransformerManipGetDrag(SoTransformerManip *this)
     SbBool              SoTransformerManipReplaceNode(SoTransformerManip
                              *this, SoPath *p )
     SbBool              SoTransformerManipReplaceManip(const
                              SoTransformerManip *this, SoPath *p, SoTransform
                              *newOne )

          Functions from class SoTransform:

     void                SoTransformerManipPtAt(SoTransformerManip *this,
                              const SbVec3f *fromPoint, const SbVec3f
                              *toPoint)
     void                SoTransformerManipGetScaleSpaceMx(const
                              SoTransformerManip *this, SbMatrix *mat,
                              SbMatrix *inv)
     void                SoTransformerManipGetRotSpaceMx(const
                              SoTransformerManip *this, SbMatrix *mat,
                              SbMatrix *inv)
     void                SoTransformerManipGetXlateSpaceMx(const
                              SoTransformerManip *this, SbMatrix *mat,
                              SbMatrix *inv)
     void                SoTransformerManipMultLeft(SoTransformerManip *this,
                              const SbMatrix *mat)
     void                SoTransformerManipMultRight(SoTransformerManip *this,
                              const SbMatrix *mat)
     void                SoTransformerManipCombineLeft(SoTransformerManip
                              *this, SoTransformation *nodeOnRight)
     void                SoTransformerManipCombineRight(SoTransformerManip
                              *this, SoTransformation *nodeOnLeft)
     void                SoTransformerManipSetMx(SoTransformerManip *this,
                              const SbMatrix *mat)
     void                SoTransformerManipRecenter(SoTransformerManip *this,
                              const SbVec3f *newCenter)

          Functions from class SoNode:

     void                SoTransformerManipSetOverride(SoTransformerManip
                              *this, SbBool state)
     SbBool              SoTransformerManipIsOverride(const SoTransformerManip
                              *this)
     SoNode *            SoTransformerManipCopy(const SoTransformerManip
                              *this, SbBool copyConnections = FALSE)
     SbBool              SoTransformerManipAffectsState(const
                              SoTransformerManip *this)
     SoNode *            SoTransformerManipGetByName(const char *name)
     int                 SoTransformerManipGetByNameList(const char *name,
                              SoNodeList *list)

          Functions from class SoFieldContainer:

     void                SoTransformerManipSetToDflts(SoTransformerManip
                              *this)
     SbBool              SoTransformerManipHasDfltVals(const
                              SoTransformerManip *this)
     SbBool              SoTransformerManipFldsAreEq(const SoTransformerManip
                              *this, const SoFieldContainer *fc)
     void                SoTransformerManipCopyFieldVals(SoTransformerManip
                              *this, const SoFieldContainer *fc, SbBool
                              copyConnections = FALSE)
     SbBool              SoTransformerManipSet(SoTransformerManip *this, const
                              char *fieldDataString)
     void                SoTransformerManipGet(SoTransformerManip *this,
                              SbString *fieldDataString)
     int                 SoTransformerManipGetFields(const SoTransformerManip
                              *this, SoFieldList *resultList)
     SoField *           SoTransformerManipGetField(const SoTransformerManip
                              *this, const char *fieldName)
     SbBool              SoTransformerManipGetFieldName(const
                              SoTransformerManip *this, const SoField *field,
                              SbName *fieldName)
     SbBool              SoTransformerManipIsNotifyEnabled(const
                              SoTransformerManip *this)
     SbBool              SoTransformerManipEnableNotify(SoTransformerManip
                              *this, SbBool flag)

          Functions from class SoBase:

     void                SoTransformerManipRef(SoTransformerManip *this)
     void                SoTransformerManipUnref(const SoTransformerManip
                              *this)
     void                SoTransformerManipUnrefNoDelete(const
                              SoTransformerManip *this)
     void                SoTransformerManipTouch(SoTransformerManip *this)
     SoType              SoTransformerManipGetTypeId(const SoTransformerManip
                              *this)
     SbBool              SoTransformerManipIsOfType(const SoTransformerManip
                              *this, SoType type)
     void                SoTransformerManipSetName(SoTransformerManip *this,
                              const char *name)
     SbName              SoTransformerManipGetName(const SoTransformerManip
                              *this)


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)

FUNCTIONS
     SoTransformerManip *  SoTransformerManipCreate()
          Constructor.

     SoType                SoTransformerManipGetClassTypeId()
          Returns type identifier for this class.

     void                  SoTransformerManipSetLocateHighlighting(SoTransformerManip
                                *this, SbBool onOff )
     SbBool                SoTransformerManipIsLocateHighlighting(SoTransformerManip
                                *this)
          Controls whether or not the dragger inside this manip will perform
          locate highlighting is used. Default is TRUE.

     void                  SoTransformerManipUnsquishKnobs(SoTransformerManip
                                *this)
          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