DOKK / manpages / debian 12 / inventor-doc / SoTrackballManip.3iv.en
SoTrackballManip(3IV)() SoTrackballManip(3IV)()

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

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

#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

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)


SoTrackballManip()

Constructor.



static SoType getClassTypeId()

Returns type identifier for this class.


TrackballManip {

translation 0 0 0 rotation 0 0 1 0 scaleFactor 1 1 1 scaleOrientation 0 0 1 0 center 0 0 0
}

SoCenterballManip, SoHandleBoxManip, SoJackManip, SoTabBoxManip, SoTrackballDragger, SoTransformBoxManip, SoTransformerManip, SoTransform, SoTransformManip