SoTranslate2Dragger(3IV)NAMESoTranslate2Dragger (SoXlate2Drag) - object you can translate within a
plane by dragging with the mouse
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
SoDragger > SoTranslate2DraggerSYNOPSIS
#include <Inventor_c/draggers/SoTranslate2Dragger.h>
typedef SoTranslate2Dragger SoXlate2Drag
Fields from class SoTranslate2Dragger:
SoSFVec3f translation
Fields from class SoDragger:
SoSFBool isActive
Fields from class SoInteractionKit:
SoSFEnum renderCaching
SoSFEnum boundingBoxCaching
SoSFEnum renderCulling
SoSFEnum pickCulling
Parts from class SoBaseKit:
(SoNodeKitListPart) callbackList
Functions from class SoTranslate2Dragger:
SoTranslate2Dragger * SoXlate2DragCreate()
const SoNodekitCatalog * SoXlate2DragGetClassNkitCat()
SoType SoXlate2DragGetClassTypeId()
Functions from class SoDragger:
void SoXlate2DragAddStartCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragRemoveStartCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragAddMotionCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragRemoveMotionCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragAddFinishCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragRemoveFinishCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
Page 1SoTranslate2Dragger(3IV)
void SoXlate2DragAddValueChangedCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
void SoXlate2DragRemoveValueChangedCB(SoXlate2Drag *this,
SoDraggerCB *f, void *userData = NULL)
SbBool SoXlate2DragEnableValueChangedCBs(SoXlate2Drag *this)
void SoXlate2DragSetMinGesture(SoXlate2Drag *this, int
pixels)
int SoXlate2DragGetMinGesture(const SoXlate2Drag *this)
void SoXlate2DragSetMinScale(float newMinScale)
float SoXlate2DragGetMinScale()
Functions from class SoInteractionKit:
SbBool SoXlate2DragSetPartAsPath(SoXlate2Drag *this, const
char *partName, SoPath *surrogatePath )
Functions from class SoBaseKit:
const SoNodekitCatalog * SoXlate2DragGetCat(const SoXlate2Drag *this)
SoNode * SoXlate2DragGetPart(SoXlate2Drag *this, const
char *partName, SbBool makeIfNeeded)
SbString SoXlate2DragGetPartString(SoXlate2Drag *this,
const SoBase *part)
SoNodeKitPath * SoXlate2DragCreatePathToPart(SoXlate2Drag
*this, const char *partName, SbBool
makeIfNeeded, const SoPath *pathToExtend =
NULL)
SbBool SoXlate2DragSetPart(SoXlate2Drag *this, const
char *partName, SoNode *newPart)
SbBool SoXlate2DragSet(SoXlate2Drag *this, char
*partName, char *parameters)
SbBool SoXlate2DragSet2(SoXlate2Drag *this, char
*nameValuePairs)
SbBool SoXlate2DragIsSearchingChildren()
void SoXlate2DragSetSearchingChildren(SbBool newVal)
Functions from class SoNode:
void SoXlate2DragSetOverride(SoXlate2Drag *this, SbBool
state)
SbBool SoXlate2DragIsOverride(const SoXlate2Drag *this)
SoNode * SoXlate2DragCopy(const SoXlate2Drag *this, SbBool
copyConnections = FALSE)
SbBool SoXlate2DragAffectsState(const SoXlate2Drag *this)
SoNode * SoXlate2DragGetByName(const char *name)
int SoXlate2DragGetByNameList(const char *name,
SoNodeList *list)
Functions from class SoFieldContainer:
void SoXlate2DragSetToDflts(SoXlate2Drag *this)
Page 2SoTranslate2Dragger(3IV)
SbBool SoXlate2DragHasDfltVals(const SoXlate2Drag *this)
SbBool SoXlate2DragFldsAreEq(const SoXlate2Drag *this, const
SoFieldContainer *fc)
void SoXlate2DragCopyFieldVals(SoXlate2Drag *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
void SoXlate2DragGet(SoXlate2Drag *this, SbString
*fieldDataString)
int SoXlate2DragGetFields(const SoXlate2Drag *this,
SoFieldList *resultList)
SoField * SoXlate2DragGetField(const SoXlate2Drag *this, const
char *fieldName)
SbBool SoXlate2DragGetFieldName(const SoXlate2Drag *this,
const SoField *field, SbName *fieldName)
SbBool SoXlate2DragIsNotifyEnabled(const SoXlate2Drag *this)
SbBool SoXlate2DragEnableNotify(SoXlate2Drag *this, SbBool
flag)
Functions from class SoBase:
void SoXlate2DragRef(SoXlate2Drag *this)
void SoXlate2DragUnref(const SoXlate2Drag *this)
void SoXlate2DragUnrefNoDelete(const SoXlate2Drag *this)
void SoXlate2DragTouch(SoXlate2Drag *this)
SoType SoXlate2DragGetTypeId(const SoXlate2Drag *this)
SbBool SoXlate2DragIsOfType(const SoXlate2Drag *this, SoType
type)
void SoXlate2DragSetName(SoXlate2Drag *this, const char
*name)
SbName SoXlate2DragGetName(const SoXlate2Drag *this)
DESCRIPTIONSoTranslate2Dragger 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
Page 3SoTranslate2Dragger(3IV)
two directions.)
Each of these is set by default from a resource described in the Dragger
Resources section of the online reference page for this class. You can
change the parts in any instance of this dragger using
SoDraggerSetPart().
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.
FIELDS
SoSFVec3f translation
Position of the dragger.
FUNCTIONSSoTranslate2Dragger * SoXlate2DragCreate()
Constructor.
const SoNodekitCatalog * SoXlate2DragGetClassNkitCat()
Returns an SoNodekitCatalog for this class
SoType SoXlate2DragGetClassTypeId()
Returns type identifier for this class.
CATALOG PARTS
_____________________________________________________________
All parts
NULL by
Part Name Part Type Default Type Default
callbackList NodeKitListPart -- yes
translator Separator -- yes
translatorActive Separator -- yes
feedback Separator -- yes
feedbackActive Separator -- yes
xAxisFeedback Separator -- yes
yAxisFeedback Separator -- yes
_____________________________________________________________
|
|
________________________________________________________________
Extra information for list parts from above table
Part Name Container Type Permissible Types
Callback, EventCallback
callbackList Separator
________________________________________________________________
|
|
Page 4SoTranslate2Dragger(3IV)DRAGGER RESOURCES
Resource: translate2Translator
Part: translator
Appearance: pair of white crossing arrows
Description: picking this initiates translation
Resource: translate2TranslatorActive
Part: translatorActive
Appearance: pair of yellow crossing arrows
Description: displayed during translation instead of the translator
Resource: translate2Feedback
Part: feedback
Appearance: empty Separator by default
Description: feedback displayed when not moving
Resource: translate2FeedbackActive
Part: feedbackActive
Appearance: empty Separator by default
Description: feedback displayed when moving
Resource: translate2XAxisFeedback
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.
Resource: translate2YAxisFeedback
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.
FILE FORMAT/DEFAULTS
Translate2Dragger {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
isActive FALSE
translation 0 0 0
callbackList NULL
translator <translate2Translator resource>
translatorActive <translate2TranslatorActive resource>
feedback <translate2Feedback resource>
feedbackActive <translate2FeedbackActive resource>
xAxisFeedback <translate2XAxisFeedback resource>
Page 5SoTranslate2Dragger(3IV)
yAxisFeedback <translate2YAxisFeedback resource>
}
SEE ALSO
SoInteractionKit, SoDragger, SoCenterballDragger,
SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger,
SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger,
SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger,
SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger,
SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger,
SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger,
SoTranslate1Dragger
Page 6