logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoTranslate2Dragger — object you can translate within a plane by dragging with the mouse

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)

See Also