SoTrackballManip(3IV)

SoTrackballManip (SoTballManip) - transform node with 3D interface for changing rotation and scaling

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoTrackballManip (SoTballManip) - transform node with 3D interface for
     changing rotation and scaling

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

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

     typedef SoTrackballManip  SoTballManip

          Fields from class SoTransform:

     SoSFVec3f           translation
     SoSFRotation        rotation
     SoSFVec3f           scaleFactor
     SoSFRotation        scaleOrientation
     SoSFVec3f           center

          Functions from class SoTrackballManip:

     SoTrackballManip *  SoTballManipCreate()
     SoType              SoTballManipGetClassTypeId()

          Functions from class SoTransformManip:

     SoDragger *         SoTballManipGetDrag(SoTballManip *this)
     SbBool              SoTballManipReplaceNode(SoTballManip *this, SoPath *p
                              )
     SbBool              SoTballManipReplaceManip(const SoTballManip *this,
                              SoPath *p, SoTransform *newOne )

          Functions from class SoTransform:

     void                SoTballManipPtAt(SoTballManip *this, const SbVec3f
                              *fromPoint, const SbVec3f *toPoint)
     void                SoTballManipGetScaleSpaceMx(const SoTballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoTballManipGetRotSpaceMx(const SoTballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoTballManipGetXlateSpaceMx(const SoTballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoTballManipMultLeft(SoTballManip *this, const
                              SbMatrix *mat)
     void                SoTballManipMultRight(SoTballManip *this, const
                              SbMatrix *mat)
     void                SoTballManipCombineLeft(SoTballManip *this,
                              SoTransformation *nodeOnRight)
     void                SoTballManipCombineRight(SoTballManip *this,
                              SoTransformation *nodeOnLeft)
     void                SoTballManipSetMx(SoTballManip *this, const SbMatrix
                              *mat)
     void                SoTballManipRecenter(SoTballManip *this, const
                              SbVec3f *newCenter)

          Functions from class SoNode:

     void                SoTballManipSetOverride(SoTballManip *this, SbBool
                              state)
     SbBool              SoTballManipIsOverride(const SoTballManip *this)
     SoNode *            SoTballManipCopy(const SoTballManip *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoTballManipAffectsState(const SoTballManip *this)
     SoNode *            SoTballManipGetByName(const char *name)
     int                 SoTballManipGetByNameList(const char *name,
                              SoNodeList *list)

          Functions from class SoFieldContainer:

     void                SoTballManipSetToDflts(SoTballManip *this)
     SbBool              SoTballManipHasDfltVals(const SoTballManip *this)
     SbBool              SoTballManipFldsAreEq(const SoTballManip *this, const
                              SoFieldContainer *fc)
     void                SoTballManipCopyFieldVals(SoTballManip *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoTballManipSet(SoTballManip *this, const char
                              *fieldDataString)
     void                SoTballManipGet(SoTballManip *this, SbString
                              *fieldDataString)
     int                 SoTballManipGetFields(const SoTballManip *this,
                              SoFieldList *resultList)
     SoField *           SoTballManipGetField(const SoTballManip *this, const
                              char *fieldName)
     SbBool              SoTballManipGetFieldName(const SoTballManip *this,
                              const SoField *field, SbName *fieldName)
     SbBool              SoTballManipIsNotifyEnabled(const SoTballManip *this)
     SbBool              SoTballManipEnableNotify(SoTballManip *this, SbBool
                              flag)

          Functions from class SoBase:

     void                SoTballManipRef(SoTballManip *this)
     void                SoTballManipUnref(const SoTballManip *this)
     void                SoTballManipUnrefNoDelete(const SoTballManip *this)
     void                SoTballManipTouch(SoTballManip *this)
     SoType              SoTballManipGetTypeId(const SoTballManip *this)
     SbBool              SoTballManipIsOfType(const SoTballManip *this, SoType
                              type)
     void                SoTballManipSetName(SoTballManip *this, const char
                              *name)

     SbName              SoTballManipGetName(const SoTballManip *this)


DESCRIPTION
     SoTrackballManip 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 rotation and scaleFactor 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 SoTrackballManip is exactly the same as that of the
     SoTrackballDragger. To find out more about the interface, see the
     reference page for SoTrackballDragger. 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
     SoTrackballManip *  SoTballManipCreate()
          Constructor.

     SoType              SoTballManipGetClassTypeId()
          Returns type identifier for this class.


FILE FORMAT/DEFAULTS
     TrackballManip {
          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, SoHandleBoxManip, SoJackManip, SoTabBoxManip,
     SoTrackballDragger, SoTransformBoxManip, SoTransformerManip, SoTransform,
     SoTransformManip