SoTrackballManip — transform node with 3D interface for changing rotation and scaling
Contents
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)
File Format/Defaults
TrackballManip{translation000rotation0010scaleFactor111scaleOrientation0010center000}Inherits From
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform > SoTransformManip > SoTrackballManip
Methods
SoTrackballManip()
Constructor.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoTrackballManip — transform node with 3D interface for changing rotation and scaling
See Also
SoCenterballManip,SoHandleBoxManip,SoJackManip,SoTabBoxManip,SoTrackballDragger,SoTransformBoxManip,SoTransformerManip,SoTransform,SoTransformManipSoTrackballManip(3IV)()
Synopsis
#include<Inventor/manips/SoTrackballManip.h>
Fields from class SoTransform:
SoSFVec3ftranslationSoSFRotationrotationSoSFVec3fscaleFactorSoSFRotationscaleOrientationSoSFVec3fcenter
Methods from class SoTrackballManip:
SoTrackballManip()staticSoTypegetClassTypeId()
Methods from class SoTransformManip:
SoDragger*getDragger()SbBoolreplaceNode(SoPath*p)SbBoolreplaceManip(SoPath*p,SoTransform*newOne)const
Methods from class SoTransform:
voidpointAt(constSbVec3f&fromPoint,constSbVec3f&toPoint)voidgetScaleSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidgetRotationSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidgetTranslationSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidmultLeft(constSbMatrix&mat)voidmultRight(constSbMatrix&mat)voidcombineLeft(SoTransformation*nodeOnRight)voidcombineRight(SoTransformation*nodeOnLeft)voidsetMatrix(constSbMatrix&mat)voidrecenter(constSbVec3f&newCenter)
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const