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

SoJackDragger — jack-shaped object you rotate, translate, or scale by dragging with the mouse

Catalog Parts

       ┌─────────────────────────────────────────────────────────────────┐
       │                            Allparts                            │
       │                                                         NULLby │
       │ PartNamePartTypeDefaultTypeDefault │
       │                                                                 │
       │ callbackList    NodeKitListPart          --               yes   │
       │ surroundScale   SurroundScale            --               yes   │
       │ antiSquish      AntiSquish               --               no    │
       │ scaler          ScaleUniformDragger      --               yes   │
       │ rotator         RotateSphericalDragger   --               yes   │
       │ translator      DragPointDragger         --               yes   │
       │                                                                 │
       └─────────────────────────────────────────────────────────────────┘
       ┌────────────────────────────────────────────────────────────────┐
       │       Extrainformationforlistpartsfromabovetable        │
       │                                                                │
       │ PartNameContainerTypePermissibleTypes              │
       │                                                                │
       │ callbackList   Separator        Callback, EventCallback        │
       │                                                                │
       └────────────────────────────────────────────────────────────────┘

Description

SoJackDragger is a composite dragger in the shape of a jack from the children's game jacks.  Three  lines
       along  the  x, y, and z axes form the central star shape, which you can drag with the mouse to rotate the
       jack.  Dragging any of the small cubes mounted at the end of the axes will scale the  jack  uniformly  in
       all 3 dimensions. At the core of the jack is an SoDragPointDragger for translating the jack.

       Each  of  these shapes is a different dragger with the default geometry changed. All of them are parts of
       the jack dragger, which keeps them moving together. The star is an SoRotateSphericalDragger, and dragging
       it updates the rotation field of the jack dragger. The small cubes are an SoScaleUniformDragger, tied  to
       the  scaleFactor field. The position of the SoDragPointDragger is given by the translation field. As with
       all draggers, if you change the fields the dragger will move to match the new settings.

       Remember: This is not an SoTransform!. If you want to move other  objects  with  this  dragger,  you  can
       either:

       [a]  Use  an SoJackManip, which is subclassed from SoTransform. It creates one of these draggers and uses
       it as the interface to change its fields. (see the SoJackManip man page).

       [b] Use field-to-field connections to connect the fields of this dragger to those of any SoTransformation
       node.

       You can change the parts in any instance of this dragger using setPart(). The default part geometries are
       defined as resources for this SoJackDragger class. They are detailed in the Dragger Resources section  of
       the  online  reference page for this class. You can make your program use different default resources for
       the parts by copying the file /usr/share/data/draggerDefaults/jackDragger.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:         jackRotatorRotator
       .in 0n+.5i
     Part:             rotator.rotator
     Appearance:       The 'star' of the jack. Set of 3 white axes (lines)
     Description:      Picking star begins rotational dragging of the jackDragger.

                         .in 0n+.5i
     Resource:         jackRotatorRotatorActive
                         .in 0n+.5i
     Part:             rotator.rotatorActive
     Appearance:       Yellow version of the rotator.rotator part.
     Description:      Displayed while the jackDragger is being rotated

                         .in 0n+.5i
     Resource:         jackRotatorFeedback
                         .in 0n+.5i
     Part:             rotator.feedback
     Appearance:       Empty separator
     Description:      Removes any feedback geometry created in the constructor of the SoRotateSphericalDragger.

                         .in 0n+.5i
     Resource:         jackRotatorFeedbackActive
                         .in 0n+.5i
     Part:             rotator.feedbackActive
     Appearance:       Empty separator
     Description:      Removes   any   feedbackActive   geometry   created   in   the   constructor    of    the
                         SoRotateSphericalDragger.

                         .in 0n+.5i
     Resource:         jackScalerScaler
                         .in 0n+.5i
     Part:             scaler.scaler
     Appearance:       Six small white cubes, the tips of the rotator star
     Description:      Picking this initiates uniform 3D scaling of the dragger.

                         .in 0n+.5i
     Resource:         jackScalerScalerActive
                         .in 0n+.5i
     Part:             scaler.scalerActive
     Appearance:       Yellow version of the scaler.scaler resource.
     Description:      Displayed while the dragger is being scaled.

                         .in 0n+.5i
     Resource:         jackScalerFeedback
                         .in 0n+.5i
     Part:             scaler.feedback
     Appearance:       Empty separator
     Description:      Removes any feedback geometry created in the constructor of the SoScaleUniformDragger.

                         .in 0n+.5i
     Resource:         jackScalerFeedbackActive
                         .in 0n+.5i
     Part:             scaler.feedbackActive
     Appearance:       Empty separator
     Description:      Removes    any    feedbackActive   geometry   created   in   the   constructor   of   the
                         SoScaleUniformDragger.

                         .in 0n+.5i
     Resource:         jackTranslatorLineTranslator
                         .in 0n+.5i
     Parts:            translator.xTranslator.translator
                                           translator.yTranslator.translator
                                           translator.zTranslator.translator
     Appearance:       Skinny white cylinder aligned with axies of motion
     Description:      Picking these parts initiates dragging in the x, y, and z linear draggers respectively.

                         .in 0n+.5i
     Resource:         jackTranslatorLineTranslatorActive
                         .in 0n+.5i
     Parts:            translator.xTranslator.translatorActive
                                           translator.yTranslator.translatorActive
                                           translator.zTranslator.translatorActive
     Appearance:       Skinny yellow cylinder aligned with axies of motion
     Description:      Shown during linear dragging in the x, y, and z directions respectively.

                         .in 0n+.5i
     Resource:         jackTranslatorPlaneTranslator
                         .in 0n+.5i
     Parts:            translator.yzTranslator.translator
                                           translator.xzTranslator.translator
                                           translator.xyTranslator.translator
     Appearance:       White flattened cube, drawn in wireframe
     Description:      Picking  these  parts  initiates  dragging  by  the  yz,  xz,  and  xy  planar   draggers
                         respectively.

                         .in 0n+.5i
     Resource:         jackTranslatorPlaneTranslatorActive
                         .in 0n+.5i
     Parts:            translator.yzTranslator.translatorActive
                                           translator.xzTranslator.translatorActive
                                           translator.xyTranslator.translatorActive
     Appearance:       Yellow flattened cube, drawn in wireframe
     Description:      Shown during planar dragging in the yz, xz, and xy planes respectively.

                         .in 0n+.5i
     Resource:         jackTranslatorXFeedback
                         .in 0n+.5i
     Part:             xFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback for motion in x direction

                         .in 0n+.5i
     Resource:         jackTranslatorYFeedback
                         .in 0n+.5i
     Part:             yFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback for motion in y direction

                         .in 0n+.5i
     Resource:         jackTranslatorZFeedback
                         .in 0n+.5i
     Part:             zFeedback
     Appearance:       Double-headed purple arrow
     Description:      Feedback for motion in z direction

                         .in 0n+.5i
     Resource:         jackTranslatorYZFeedback
                         .in 0n+.5i
     Part:             yzFeedback
     Appearance:       Semi-transparent green square in yz plane
     Description:      Feedback for motion in yz plane

                         .in 0n+.5i
     Resource:         jackTranslatorXZFeedback
                         .in 0n+.5i
     Part:             xzFeedback
     Appearance:       Semi-transparent green square in yz plane
     Description:      Feedback for motion in xz plane

                         .in 0n+.5i
     Resource:         jackTranslatorXYFeedback
                         .in 0n+.5i
     Part:             xyFeedback
     Appearance:       Semi-transparent green square in yz plane
     Description:      Feedback for motion in xy plane

Fields

SoSFRotationrotation
          Orientation of the dragger.

     SoSFVec3fscaleFactor
          Scale of the dragger.

     SoSFVec3ftranslation
          Position of the dragger.

File Format/Defaults

JackDragger{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTOisActiveFALSErotation0010translation000scaleFactor111callbackListNULLsurroundScaleNULLantiSquishAntiSquish{sizingBIGGEST_DIMENSION}scalerScaleUniformDragger{}rotatorRotateSphericalDragger{}translatorDragPointDragger{}rotator.rotator<jackRotatorRotatorresource>rotator.rotatorActive<jackRotatorRotatorActiveresource>rotator.feedback<jackRotatorFeedbackresource>rotator.feedbackActive<jackRotatorFeedbackActiveresource>scaler.scaler<jackScalerScalerresource>scaler.scalerActive<jackScalerScalerActiveresource>scaler.feedback<jackScalerFeedbackresource>scaler.feedbackActive<jackScalerFeedbackActiveresource>translator.xTranslator.translator<jackTranslatorLineTranslatorresource>translator.yTranslator.translator<jackTranslatorLineTranslatorresource>translator.zTranslator.translator<jackTranslatorLineTranslatorresource>translator.xTranslator.translatorActive<jackTranslatorLineTranslatorActiveresource>translator.yTranslator.translatorActive<jackTranslatorLineTranslatorActiveresource>translator.zTranslator.translatorActive<jackTranslatorLineTranslatorActiveresource>translator.yzTranslator.translator<jackTranslatorPlaneTranslatorresource>translator.xzTranslator.translator<jackTranslatorPlaneTranslatorresource>translator.xyTranslator.translator<jackTranslatorPlaneTranslatorresource>translator.yzTranslator.translatorActive<jackTranslatorPlaneTranslatorActiveresource>translator.xzTranslator.translatorActive<jackTranslatorPlaneTranslatorActiveresource>translator.xyTranslator.translatorActive<jackTranslatorPlaneTranslatorActiveresource>xFeedback<jackTranslatorXFeedbackresource>yFeedback<jackTranslatorYFeedbackresource>zFeedback<jackTranslatorZFeedbackresource>yzFeedback<jackTranslatorYZFeedbackresource>xzFeedback<jackTranslatorXZFeedbackresource>xyFeedback<jackTranslatorXYFeedbackresource>}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoJackDragger

Methods

SoJackDragger()
          Constructor.

     staticconstSoNodekitCatalog*getClassNodekitCatalog()const
          Returns an SoNodekitCatalog for this class

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoJackDragger — jack-shaped object you rotate, translate, or scale by dragging with the mouse

See Also

SoInteractionKit,SoDragger,SoCenterballDragger,SoDirectionalLightDragger,SoDragPointDragger,SoHandleBoxDragger,SoPointLightDragger,SoRotateCylindricalDragger,SoRotateDiscDragger,SoRotateSphericalDragger,SoScale1Dragger,SoScale2Dragger,SoScale2UniformDragger,SoScaleUniformDragger,SoSpotLightDragger,SoTabBoxDragger,SoTabPlaneDragger,SoTrackballDragger,SoTransformBoxDragger,SoTransformerDragger,SoTranslate1Dragger,SoTranslate2DraggerSoJackDragger(3IV)()

Synopsis

#include<Inventor/draggers/SoJackDragger.h>

          Fields from class SoJackDragger:

     SoSFRotationrotationSoSFVec3fscaleFactorSoSFVec3ftranslation

          Fields from class SoDragger:

     SoSFBoolisActive

          Fields from class SoInteractionKit:

     SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling

          Parts from class SoBaseKit:

     (SoNodeKitListPart)callbackList

          Methods from class SoJackDragger:

                         SoJackDragger()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