SoJackManip — transform node with 3D interface for rotating, scaling, and translating
Contents
Description
SoJackManip 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 manip also has a 3D interface to edit some of its fields. In this
case, the interface edits the scaleFactor, rotation and translation 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 SoJackManip is exactly the same as that of the SoJackDragger. To find out more about
the interface, see the reference page for SoJackDragger. To find out how the manipulator uses a dragger
to provide its interface, see the reference page for SoTransformManip.
On screen, this manip 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
JackManip{translation000rotation0010scaleFactor111scaleOrientation0010center000}Inherits From
SoBase > SoFieldContainer > SoNode > SoTransformation > SoTransform > SoTransformManip > SoJackManip
Methods
SoJackManip()
Constructor.
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoJackManip — transform node with 3D interface for rotating, scaling, and translating
See Also
SoCenterballManip,SoHandleBoxManip,SoJackDragger,SoTabBoxManip,SoTrackballManip,SoTransformBoxManip,SoTransformerManip,SoTransform,SoTransformManipSoJackManip(3IV)()
Synopsis
#include<Inventor/manips/SoJackManip.h>
Fields from class SoTransform:
SoSFVec3ftranslationSoSFRotationrotationSoSFVec3fscaleFactorSoSFRotationscaleOrientationSoSFVec3fcenter
Methods from class SoJackManip:
SoJackManip()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