SoCenterballManip(3IV)

SoCenterballManip (SoCballManip) - transform node with 3D interface for editing rotation and center

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

NAME
     SoCenterballManip (SoCballManip) - transform node with 3D interface for
     editing rotation and center

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

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

     typedef SoCenterballManip  SoCballManip

          Fields from class SoTransform:

     SoSFVec3f           translation
     SoSFRotation        rotation
     SoSFVec3f           scaleFactor
     SoSFRotation        scaleOrientation
     SoSFVec3f           center

          Functions from class SoCenterballManip:

     SoCenterballManip *  SoCballManipCreate()
     SoType               SoCballManipGetClassTypeId()

          Functions from class SoTransformManip:

     SoDragger *         SoCballManipGetDrag(SoCballManip *this)
     SbBool              SoCballManipReplaceNode(SoCballManip *this, SoPath *p
                              )
     SbBool              SoCballManipReplaceManip(const SoCballManip *this,
                              SoPath *p, SoTransform *newOne )

          Functions from class SoTransform:

     void                SoCballManipPtAt(SoCballManip *this, const SbVec3f
                              *fromPoint, const SbVec3f *toPoint)
     void                SoCballManipGetScaleSpaceMx(const SoCballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoCballManipGetRotSpaceMx(const SoCballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoCballManipGetXlateSpaceMx(const SoCballManip *this,
                              SbMatrix *mat, SbMatrix *inv)
     void                SoCballManipMultLeft(SoCballManip *this, const
                              SbMatrix *mat)
     void                SoCballManipMultRight(SoCballManip *this, const
                              SbMatrix *mat)
     void                SoCballManipCombineLeft(SoCballManip *this,
                              SoTransformation *nodeOnRight)
     void                SoCballManipCombineRight(SoCballManip *this,
                              SoTransformation *nodeOnLeft)
     void                SoCballManipSetMx(SoCballManip *this, const SbMatrix
                              *mat)
     void                SoCballManipRecenter(SoCballManip *this, const
                              SbVec3f *newCenter)

          Functions from class SoNode:

     void                SoCballManipSetOverride(SoCballManip *this, SbBool
                              state)
     SbBool              SoCballManipIsOverride(const SoCballManip *this)
     SoNode *            SoCballManipCopy(const SoCballManip *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoCballManipAffectsState(const SoCballManip *this)
     SoNode *            SoCballManipGetByName(const char *name)
     int                 SoCballManipGetByNameList(const char *name,
                              SoNodeList *list)

          Functions from class SoFieldContainer:

     void                SoCballManipSetToDflts(SoCballManip *this)
     SbBool              SoCballManipHasDfltVals(const SoCballManip *this)
     SbBool              SoCballManipFldsAreEq(const SoCballManip *this, const
                              SoFieldContainer *fc)
     void                SoCballManipCopyFieldVals(SoCballManip *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoCballManipSet(SoCballManip *this, const char
                              *fieldDataString)
     void                SoCballManipGet(SoCballManip *this, SbString
                              *fieldDataString)
     int                 SoCballManipGetFields(const SoCballManip *this,
                              SoFieldList *resultList)
     SoField *           SoCballManipGetField(const SoCballManip *this, const
                              char *fieldName)
     SbBool              SoCballManipGetFieldName(const SoCballManip *this,
                              const SoField *field, SbName *fieldName)
     SbBool              SoCballManipIsNotifyEnabled(const SoCballManip *this)
     SbBool              SoCballManipEnableNotify(SoCballManip *this, SbBool
                              flag)

          Functions from class SoBase:

     void                SoCballManipRef(SoCballManip *this)
     void                SoCballManipUnref(const SoCballManip *this)
     void                SoCballManipUnrefNoDelete(const SoCballManip *this)
     void                SoCballManipTouch(SoCballManip *this)
     SoType              SoCballManipGetTypeId(const SoCballManip *this)
     SbBool              SoCballManipIsOfType(const SoCballManip *this, SoType
                              type)
     void                SoCballManipSetName(SoCballManip *this, const char
                              *name)

     SbName              SoCballManipGetName(const SoCballManip *this)


DESCRIPTION
     SoCenterballManip 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 center 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 SoCenterballManip is exactly the same as that of the
     SoCenterballDragger. To find out more about the interface, see the
     reference page for SoCenterballDragger. 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
     SoCenterballManip *  SoCballManipCreate()
          Constructor.

     SoType               SoCballManipGetClassTypeId()
          Returns type identifier for this class.


FILE FORMAT/DEFAULTS
     CenterballManip {
          translation       0 0 0
          rotation          0 0 1  0
          scaleFactor       1 1 1
          scaleOrientation  0 0 1  0
          center            0 0 0
     }

SEE ALSO
     SoCenterballDragger, SoHandleBoxManip, SoJackManip, SoTabBoxManip,
     SoTrackballManip, SoTransformBoxManip, SoTransformerManip, SoTransform,
     SoTransformManip