SoTranslate2Dragger — object you can translate within a plane by dragging with the mouse
Contents
Catalog Parts
┌─────────────────────────────────────────────────────────────┐
│ Allparts │
│ NULLby │
│ PartNamePartTypeDefaultTypeDefault │
│ │
│ callbackList NodeKitListPart -- yes │
│ translator Separator -- yes │
│ translatorActive Separator -- yes │
│ feedback Separator -- yes │
│ feedbackActive Separator -- yes │
│ xAxisFeedback Separator -- yes │
│ yAxisFeedback Separator -- yes │
│ │
└─────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐
│ Extrainformationforlistpartsfromabovetable │
│ │
│ PartNameContainerTypePermissibleTypes │
│ │
│ callbackList Separator Callback, EventCallback │
│ │
└────────────────────────────────────────────────────────────────┘
Description
SoTranslate2Dragger is a simple dragger that translates in two dimensions when dragged with the mouse. It
moves within the x-y plane of its local space, determined by its location in the scene graph.
Transformation nodes placed before it will affect both the dragger and the direction of motion.
Pressing the <Shift> key allows you to constrain motion to either the x axis or the y axis. The direction
is determined by your initial mouse gesture after pressing the key. Releasing the key removes the
constraint.
This node has a translation field which always reflects its position in local space. If you set the
field, the dragger will move accordingly. You can also connect fields of other nodes or engines from
this one to make them follow the dragger's motion.
This dragger contains six parts, translator, translatorActive, feedback, feedbackActive, xAxisFeedback,
and yAxisFeedback. The last two parts are only displayed during motion, and only when their direction of
motion is enabled. (Pressing the <Shift> key and then dragging disables one of the two directions.)
Each of these is set by default from a resource described in the DraggerResources section of the online
reference page for this class. You can change the parts in any instance of this dragger using setPart().
You can make your program use different default resources for the parts by copying the file
/usr/share/data/draggerDefaults/translate2Dragger.iv into your own directory, editing the file, and then
setting the environment variable SO_DRAGGER_DIR to be a path to that directory.
Dragger Resources
.in 0n+.5i
Resource: translate2Translator
.in 0n+.5i
Part: translator
Appearance: pair of white crossing arrows
Description: picking this initiates translation
.in 0n+.5i
Resource: translate2TranslatorActive
.in 0n+.5i
Part: translatorActive
Appearance: pair of yellow crossing arrows
Description: displayed during translation instead of the translator
.in 0n+.5i
Resource: translate2Feedback
.in 0n+.5i
Part: feedback
Appearance: empty Separator by default
Description: feedback displayed when not moving
.in 0n+.5i
Resource: translate2FeedbackActive
.in 0n+.5i
Part: feedbackActive
Appearance: empty Separator by default
Description: feedback displayed when moving
.in 0n+.5i
Resource: translate2XAxisFeedback
.in 0n+.5i
Part: xAxisFeedback
Appearance: thin purple line
Description: Only shown if dragger is moving and the axis is a permissable direction of motion. When
pressing <shift>, motion is constrained, and this is displayed only if the primary
motion is in the x direction.
.in 0n+.5i
Resource: translate2YAxisFeedback
.in 0n+.5i
Part: yAxisFeedback
Appearance: thin purple line
Description: Only shown if dragger is moving and the axis is a permissable direction of motion. When
pressing <shift>, motion is constrained, and this is displayed only if the primary
motion is in the y direction.
Fields
SoSFVec3ftranslation
Position of the dragger.
File Format/Defaults
Translate2Dragger{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTOisActiveFALSEtranslation000callbackListNULLtranslator<translate2Translatorresource>translatorActive<translate2TranslatorActiveresource>feedback<translate2Feedbackresource>feedbackActive<translate2FeedbackActiveresource>xAxisFeedback<translate2XAxisFeedbackresource>yAxisFeedback<translate2YAxisFeedbackresource>}Inherits From
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoTranslate2Dragger
Methods
SoTranslate2Dragger()
Constructor.
staticconstSoNodekitCatalog*getClassNodekitCatalog()const
Returns an SoNodekitCatalog for this class
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoTranslate2Dragger — object you can translate within a plane by dragging with the mouse
See Also
SoInteractionKit,SoDragger,SoCenterballDragger,SoDirectionalLightDragger,SoDragPointDragger,SoHandleBoxDragger,SoJackDragger,SoPointLightDragger,SoRotateCylindricalDragger,SoRotateDiscDragger,SoRotateSphericalDragger,SoScale1Dragger,SoScale2Dragger,SoScale2UniformDragger,SoScaleUniformDragger,SoSpotLightDragger,SoTabBoxDragger,SoTabPlaneDragger,SoTrackballDragger,SoTransformBoxDragger,SoTransformerDragger,SoTranslate1DraggerSoTranslate2Dragger(3IV)()
Synopsis
#include<Inventor/draggers/SoTranslate2Dragger.h>
Fields from class SoTranslate2Dragger:
SoSFVec3ftranslation
Fields from class SoDragger:
SoSFBoolisActive
Fields from class SoInteractionKit:
SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling
Parts from class SoBaseKit:
(SoNodeKitListPart)callbackList
Methods from class SoTranslate2Dragger:
SoTranslate2Dragger()staticconstSoNodekitCatalog*getClassNodekitCatalog()conststaticSoTypegetClassTypeId()
Methods from class SoDragger:
voidaddStartCallback(SoDraggerCB*f,void*userData=NULL)voidremoveStartCallback(SoDraggerCB*f,void*userData=NULL)voidaddMotionCallback(SoDraggerCB*f,void*userData=NULL)voidremoveMotionCallback(SoDraggerCB*f,void*userData=NULL)voidaddFinishCallback(SoDraggerCB*f,void*userData=NULL)voidremoveFinishCallback(SoDraggerCB*f,void*userData=NULL)voidaddValueChangedCallback(SoDraggerCB*f,void*userData=NULL)voidremoveValueChangedCallback(SoDraggerCB*f,void*userData=NULL)SbBoolenableValueChangedCallbacks()voidsetMinGesture(intpixels)intgetMinGesture()conststaticvoidsetMinScale(floatnewMinScale)staticfloatgetMinScale()
Methods from class SoInteractionKit:
virtualSbBoolsetPartAsPath(constSbName&partName,SoPath*surrogatePath)
Methods from class SoBaseKit:
virtualconstSoNodekitCatalog*getNodekitCatalog()constvirtualSoNode*getPart(constSbName&partName,SbBoolmakeIfNeeded)SbStringgetPartString(constSoBase*part)virtualSoNodeKitPath*createPathToPart(constSbName&partName,SbBoolmakeIfNeeded,constSoPath*pathToExtend=NULL)virtualSbBoolsetPart(constSbName&partName,SoNode*newPart)SbBoolset(char*partName,char*parameters)SbBoolset(char*nameValuePairs)staticSbBoolisSearchingChildren()staticvoidsetSearchingChildren(SbBoolnewVal)
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)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
Macros from class SoBaseKit:
SO_GET_PART(kit,partName,partClass)SO_CHECK_PART(kit,partName,partClass)