SoTrackballManip(3IV)NAMESoTrackballManip (SoTballManip) - transform node with 3D interface for
changing rotation and scaling
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform >
SoTransformManip > SoTrackballManipSYNOPSIS
#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)
Page 1SoTrackballManip(3IV)
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)
Page 2SoTrackballManip(3IV)
SbName SoTballManipGetName(const SoTballManip *this)
DESCRIPTIONSoTrackballManip 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)
FUNCTIONSSoTrackballManip * 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
Page 3