SoTrackballManip(3IV)

NAME
SoTrackballManip — transform node with 3D interface for changing rotation and scaling

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

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

Fields from class SoTransform:

SoSFVec3f
translation
SoSFRotation
rotation
SoSFVec3f
scaleFactor
SoSFRotation
scaleOrientation
SoSFVec3f
center

Methods from class SoTrackballManip:

SoTrackballManip()
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
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)

METHODS

SoTrackballManip()
Constructor.

static SoType
getClassTypeId()
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