SoCenterballManip — transform node with 3D interface for editing rotation and center
Contents
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.)
File Format/Defaults
CenterballManip{translation000rotation0010scaleFactor111scaleOrientation0010center000}Inherits From
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform > SoTransformManip >
SoCenterballManip
Methods
SoCenterballManip()
Constructor.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoCenterballManip — transform node with 3D interface for editing rotation and center
See Also
SoCenterballDragger,SoHandleBoxManip,SoJackManip,SoTabBoxManip,SoTrackballManip,SoTransformBoxManip,SoTransformerManip,SoTransform,SoTransformManipSoCenterballManip(3IV)()
Synopsis
#include<Inventor/manips/SoCenterballManip.h>
Fields from class SoTransform:
SoSFVec3ftranslationSoSFRotationrotationSoSFVec3fscaleFactorSoSFRotationscaleOrientationSoSFVec3fcenter
Methods from class SoCenterballManip:
SoCenterballManip()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