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

SoTransformerDragger — box-like object you scale, rotate, and translate by dragging with the mouse

Catalog Parts

       ┌──────────────────────────────────────────────────────────────────┐
       │                            Allparts                             │
       │                                                          NULLby │
       │ PartNamePartTypeDefaultTypeDefault │
       │                                                                  │
       │ callbackList            NodeKitListPart   --               yes   │
       │ surroundScale           SurroundScale     --               yes   │
       │ translator1             Separator         --               yes   │
       │ translator1Active       Separator         --               yes   │
       │ translator2             Separator         --               yes   │
       │ translator2Active       Separator         --               yes   │
       │ translator3             Separator         --               yes   │
       │ translator3Active       Separator         --               yes   │
       │ translator4             Separator         --               yes   │
       │ translator4Active       Separator         --               yes   │
       │ translator5             Separator         --               yes   │
       │ translator5Active       Separator         --               yes   │
       │ translator6             Separator         --               yes   │
       │ translator6Active       Separator         --               yes   │
       │ rotator1                Separator         --               yes   │
       │ rotator1Active          Separator         --               yes   │
       │ rotator2                Separator         --               yes   │
       │ rotator2Active          Separator         --               yes   │
       │ rotator3                Separator         --               yes   │
       │ rotator3Active          Separator         --               yes   │
       │ rotator4                Separator         --               yes   │
       │ rotator4Active          Separator         --               yes   │
       │ rotator5                Separator         --               yes   │
       │ rotator5Active          Separator         --               yes   │
       │ rotator6                Separator         --               yes   │
       │ rotator6Active          Separator         --               yes   │
       │ scale1                  Separator         --               yes   │
       │ scale1Active            Separator         --               yes   │
       │ scale2                  Separator         --               yes   │
       │ scale2Active            Separator         --               yes   │
       │ scale3                  Separator         --               yes   │
       │ scale3Active            Separator         --               yes   │
       │ scale4                  Separator         --               yes   │
       │ scale4Active            Separator         --               yes   │
       │ scale5                  Separator         --               yes   │
       │ scale5Active            Separator         --               yes   │
       │ scale6                  Separator         --               yes   │
       │ scale6Active            Separator         --               yes   │
       │ scale7                  Separator         --               yes   │
       │ scale7Active            Separator         --               yes   │
       │ scale8                  Separator         --               yes   │
       │ scale8Active            Separator         --               yes   │
       │ xAxisFeedbackActive     Separator         --               yes   │
       │ xAxisFeedbackSelect     Separator         --               yes   │
       │ xCrosshairFeedback      Separator         --               yes   │
       │ yAxisFeedbackActive     Separator         --               yes   │
       │ yAxisFeedbackSelect     Separator         --               yes   │
       │ yCrosshairFeedback      Separator         --               yes   │
       │ zAxisFeedbackActive     Separator         --               yes   │
       │ zAxisFeedbackSelect     Separator         --               yes   │
       │ zCrosshairFeedback      Separator         --               yes   │
       │ translateBoxFeedback    Separator         --               yes   │
       │ scaleBoxFeedback        Separator         --               yes   │
       │ posXWallFeedback        Separator         --               yes   │
       │ posXRoundWallFeedback   Separator         --               yes   │
       │ posYWallFeedback        Separator         --               yes   │
       │ posYRoundWallFeedback   Separator         --               yes   │
       │ posZWallFeedback        Separator         --               yes   │
       │ posZRoundWallFeedback   Separator         --               yes   │
       │ negXWallFeedback        Separator         --               yes   │
       │ negXRoundWallFeedback   Separator         --               yes   │
       │ negYWallFeedback        Separator         --               yes   │
       │ negYRoundWallFeedback   Separator         --               yes   │
       │ negZWallFeedback        Separator         --               yes   │
       │ negZRoundWallFeedback   Separator         --               yes   │
       │ radialFeedback          Separator         --               yes   │
       │ xCircleFeedback         Separator         --               yes   │
       │ yCircleFeedback         Separator         --               yes   │
       │ zCircleFeedback         Separator         --               yes   │
       │                                                                  │
       └──────────────────────────────────────────────────────────────────┘
       ┌────────────────────────────────────────────────────────────────┐
       │       Extrainformationforlistpartsfromabovetable        │
       │                                                                │
       │ PartNameContainerTypePermissibleTypes              │
       │                                                                │
       │ callbackList   Separator        Callback, EventCallback        │
       │                                                                │
       └────────────────────────────────────────────────────────────────┘

Description

SoTransformerDragger is a dragger shaped like a box. It has small cubes at the corners  and  small  balls
       sticking  out  of  the  middle of each face. Click and drag any face of the box for 2D translation in the
       plane of that face.  Drag any corner-cube to scale the box uniformly. Pick any of the mid-face  balls  to
       rotate the whole dragger about its center.

       The  SoTransformerDragger  uses  locate  highlighting, so you can tell which part you are about to select
       before pressing the mouse button. By default, the locate highlight color is gold.

       Click-drag any face to translate the dragger within the plane of that face. The face  you  selected  will
       highlight  in  yellow. While you drag, yellow feedbackarrows display the two directions of motion. Press
       the <Shift> key and the arrows turn orange; you may now pick between these two  directions  to  constrain
       the  motion.  The  direction  you  move the cursor in will determine which direction is chosen. Press the
       <Control> key and the dragger will translate perpendicular  to  that  plane.  The  translation  field  is
       modified as the face is dragged.

       Click  a  corner  to  scale  the  dragger. The corner you selected will turn yellow and radial lines will
       indicate that you may move toward and away from the center of the box. Drag radially and you will perform
       uniform scale. Press the <Control> key to scale about the opposite corner instead of the  center  of  the
       box.

       To stretch the dragger non-uniformly, press <Shift> when you drag the corner cube. Now you will see three
       orange  arrows indicating that your gesture will determine which direction to choose. Move the cursor and
       the selected arrow will turn yellow while the others disappear. Now the dragger will stretch only in  the
       direction  you selected. Pressing <Control> at the same time as <Shift> allows you to stretch the dragger
       while keeping the opposite side pinned in place. When you drag a corner, this  modifies  the  scaleFactor
       and possibly the translation field of the dragger.

       Click one of the sphericalknobs to rotate the dragger. When you first click, you'll see two orange lines
       and  two  purple  circles. The purple circles indicate the two ways you can rotate. The orange lines are,
       once again, the two choices for your mouse gesture. Each line begins you moving around  one  of  the  two
       circles.  Once  you move the cursor far enough, the selected line turns yellow and you begin rotating the
       dragger about the selected circle. The other circle and line will disappear.

       To perform unconstrained ("free") rotation, just press <Shift> while you drag the spherical  knob.  There
       will  be no choices; instead all three purple circles will be displayed, forming a ball that you can roll
       around. Regardless of how you rotate, dragging the spherical knobs will modify the  rotatation  field  of
       the  dragger. Depending on how it is centered and what transforms precede it in the scene graph, rotation
       is likely to affect the translation and scaleFactor fields as well.

       Pressing the <Control> key will change the center of rotation in both the constrained  and  unconstrained
       (<Shift>)  case.   By  default,  rotation  occurs  about  the  center of the bounding box. With <Control>
       depressed, rotation occurs about the middle of the opposite side of the bounding box. The purple feedback
       will change to illustrate this; the feedback circles increase in size and purple crosshairs sprout at the
       new rotational center.

       Ordinarily, the knobs of the dragger are unsquished upon readin from file and when the  mouse  button  is
       released  at  the  end  of a drag. If you want this to happen more often, then you should call the method
       unsquishKnobs.

       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 SoTransformerManip, which is subclassed from SoTransform. It creates one of these draggers and
       uses it as the interface to change its fields. (see the SoTransformerManip 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  SoTransformerDragger 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/transformerDragger.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:         transformerLocateMaterial
       .in 0n+.5i
     Part:             none
     Appearance:       Gold diffuse and emissive color
     Description:      Locate highlight color used for all parts.

                         .in 0n+.5i
     Resource:         transformerOverallStyle
                         .in 0n+.5i
     Part:             overallStyle
     Appearance:       White Low-Complexity lines
     Description:      If nothing else specified, this is style of the part.

                         .in 0n+.5i
     Resource:         transformerTranslator1
                         .in 0n+.5i
     Part:             translator1
     Appearance:       White Line-Style Square
     Description:      Top face of transformer. Picking this initiates translation in x-z plane.

                         .in 0n+.5i
     Resource:         transformerTranslator2
                         .in 0n+.5i
     Part:             translator2
     Appearance:       White Line-Style Square
     Description:      Bottom face of transformer. Picking this initiates translation in x-z plane.

                         .in 0n+.5i
     Resource:         transformerTranslator3
                         .in 0n+.5i
     Part:             translator3
     Appearance:       White Line-Style Square
     Description:      Left face of transformer. Picking this initiates translation in y-z plane.

                         .in 0n+.5i
     Resource:         transformerTranslator4
                         .in 0n+.5i
     Part:             translator4
     Appearance:       White Line-Style Square
     Description:      Right face of transformer. Picking this initiates translation in y-z plane.

                         .in 0n+.5i
     Resource:         transformerTranslator5
                         .in 0n+.5i
     Part:             translator5
     Appearance:       White Line-Style Square
     Description:      Front face of transformer. Picking this initiates translation in x-y plane.

                         .in 0n+.5i
     Resource:         transformerTranslator6
                         .in 0n+.5i
     Part:             translator6
     Appearance:       White Line-Style Square
     Description:      Back face of transformer. Picking this initiates translation in x-y plane.

                         .in 0n+.5i
     Resource:         transformerTranslator1Active
                         .in 0n+.5i
     Part:             translator1Active
     Appearance:       Yellow version of transformerTranslator1
     Description:      Replaces transformerTranslator1 during dragging.

                         .in 0n+.5i
     Resource:         transformerTranslator2Active
                         .in 0n+.5i
     Part:             translator2Active
     Appearance:       Yellow version of transformerTranslator2
     Description:      Replaces transformerTranslator2 during dragging.

                         .in 0n+.5i
     Resource:         transformerTranslator3Active
                         .in 0n+.5i
     Part:             translator3Active
     Appearance:       Yellow version of transformerTranslator3
     Description:      Replaces transformerTranslator3 during dragging.

                         .in 0n+.5i
     Resource:         transformerTranslator4Active
                         .in 0n+.5i
     Part:             translator4Active
     Appearance:       Yellow version of transformerTranslator4
     Description:      Replaces transformerTranslator4 during dragging.

                         .in 0n+.5i
     Resource:         transformerTranslator5Active
                         .in 0n+.5i
     Part:             translator5Active
     Appearance:       Yellow version of transformerTranslator5
     Description:      Replaces transformerTranslator5 during dragging.

                         .in 0n+.5i
     Resource:         transformerTranslator6Active
                         .in 0n+.5i
     Part:             translator6Active
     Appearance:       Yellow version of transformerTranslator6
     Description:      Replaces transformerTranslator6 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator1
                         .in 0n+.5i
     Part:             rotator1
     Appearance:       Green Sphere at end of a stick
     Description:      Top knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator2
                         .in 0n+.5i
     Part:             rotator2
     Appearance:       Green Sphere at end of a stick
     Description:      Bottom knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator3
                         .in 0n+.5i
     Part:             rotator3
     Appearance:       Green Sphere at end of a stick
     Description:      Left knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator4
                         .in 0n+.5i
     Part:             rotator4
     Appearance:       Green Sphere at end of a stick
     Description:      Right knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator5
                         .in 0n+.5i
     Part:             rotator5
     Appearance:       Green Sphere at end of a stick
     Description:      Front knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator6
                         .in 0n+.5i
     Part:             rotator6
     Appearance:       Green Sphere at end of a stick
     Description:      Back knob of transformer. Picking this initiates rotation.

                         .in 0n+.5i
     Resource:         transformerRotator1Active
                         .in 0n+.5i
     Part:             rotator1Active
     Appearance:       Yellow version of transformerRotator1
     Description:      Replaces transformerRotator1 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator2Active
                         .in 0n+.5i
     Part:             rotator2Active
     Appearance:       Yellow version of transformerRotator2
     Description:      Replaces transformerRotator2 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator3Active
                         .in 0n+.5i
     Part:             rotator3Active
     Appearance:       Yellow version of transformerRotator3
     Description:      Replaces transformerRotator3 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator4Active
                         .in 0n+.5i
     Part:             rotator4Active
     Appearance:       Yellow version of transformerRotator4
     Description:      Replaces transformerRotator4 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator5Active
                         .in 0n+.5i
     Part:             rotator5Active
     Appearance:       Yellow version of transformerRotator5
     Description:      Replaces transformerRotator5 during dragging.

                         .in 0n+.5i
     Resource:         transformerRotator6Active
                         .in 0n+.5i
     Part:             rotator6Active
     Appearance:       Yellow version of transformerRotator6
     Description:      Replaces transformerRotator6 during dragging.

                         .in 0n+.5i
     Resource:         transformerScale1
                         .in 0n+.5i
     Part:             scale1
     Appearance:       Small white cube in (+x+y+z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale2
                         .in 0n+.5i
     Part:             scale2
     Appearance:       Small white cube in (+x+y-z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale3
                         .in 0n+.5i
     Part:             scale3
     Appearance:       Small white cube in (+x-y+z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale4
                         .in 0n+.5i
     Part:             scale4
     Appearance:       Small white cube in (+x-y-z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale5
                         .in 0n+.5i
     Part:             scale5
     Appearance:       Small white cube in (-x+y+z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale6
                         .in 0n+.5i
     Part:             scale6
     Appearance:       Small white cube in (-x+y-z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale7
                         .in 0n+.5i
     Part:             scale7
     Appearance:       Small white cube in (-x-y+z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale8
                         .in 0n+.5i
     Part:             scale8
     Appearance:       Small white cube in (-x-y-z) corner of transformer
     Description:      Picking this initiates scaling.

                         .in 0n+.5i
     Resource:         transformerScale1Active
                         .in 0n+.5i
     Part:             scale1Active
     Appearance:       Yellow version of transformerScale1Active
     Description:      Replaces transformerScale1Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale2Active
                         .in 0n+.5i
     Part:             scale2Active
     Appearance:       Yellow version of transformerScale2Active
     Description:      Replaces transformerScale2Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale3Active
                         .in 0n+.5i
     Part:             scale3Active
     Appearance:       Yellow version of transformerScale3Active
     Description:      Replaces transformerScale3Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale4Active
                         .in 0n+.5i
     Part:             scale4Active
     Appearance:       Yellow version of transformerScale4Active
     Description:      Replaces transformerScale4Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale5Active
                         .in 0n+.5i
     Part:             scale5Active
     Appearance:       Yellow version of transformerScale5Active
     Description:      Replaces transformerScale5Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale6Active
                         .in 0n+.5i
     Part:             scale6Active
     Appearance:       Yellow version of transformerScale6Active
     Description:      Replaces transformerScale6Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale7Active
                         .in 0n+.5i
     Part:             scale7Active
     Appearance:       Yellow version of transformerScale7Active
     Description:      Replaces transformerScale7Active during dragging.

                         .in 0n+.5i
     Resource:         transformerScale8Active
                         .in 0n+.5i
     Part:             scale8Active
     Appearance:       Yellow version of transformerScale8Active
     Description:      Replaces transformerScale8Active during dragging.

                         .in 0n+.5i
     Resource:         transformerXAxisFeedbackActive
                         .in 0n+.5i
     Part:             xAxisFeedbackActive
     Appearance:       Yellow arrow along X axis
     Description:      Displayed when translating if X direction is permitted.

                         .in 0n+.5i
     Resource:         transformerXAxisFeedbackSelect
                         .in 0n+.5i
     Part:             xAxisFeedbackSelect
     Appearance:       Orange arrow along X axis
     Description:      Displayed when awaiting gesture to pick between X axis and another direction(s).

                         .in 0n+.5i
     Resource:         transformerYAxisFeedbackActive
                         .in 0n+.5i
     Part:             yAxisFeedbackActive
     Appearance:       Yellow arrow along Y axis
     Description:      Displayed when translating if Y direction is permitted.

                         .in 0n+.5i
     Resource:         transformerYAxisFeedbackSelect
                         .in 0n+.5i
     Part:             yAxisFeedbackSelect
     Appearance:       Orange arrow along Y axis
     Description:      Displayed when awaiting gesture to pick between Y axis and another direction(s).

                         .in 0n+.5i
     Resource:         transformerZAxisFeedbackActive
                         .in 0n+.5i
     Part:             zAxisFeedbackActive
     Appearance:       Yellow arrow along Z axis
     Description:      Displayed when translating if Z direction is permitted.

                         .in 0n+.5i
     Resource:         transformerZAxisFeedbackSelect
                         .in 0n+.5i
     Part:             zAxisFeedbackSelect
     Appearance:       Orange arrow along Z axis
     Description:      Displayed when awaiting gesture to pick between Z axis and another direction(s).

                         .in 0n+.5i
     Resource:         transformerXCrosshairFeedback
                         .in 0n+.5i
     Part:             xCrosshairFeedback
     Appearance:       Yellow crossHair in y-z plane
     Description:      Displayed when translating perpendicular to y-z plane.

                         .in 0n+.5i
     Resource:         transformerYCrosshairFeedback
                         .in 0n+.5i
     Part:             yCrosshairFeedback
     Appearance:       Yellow crossHair in x-z plane
     Description:      Displayed when translating perpendicular to x-z plane.

                         .in 0n+.5i
     Resource:         transformerZCrosshairFeedback
                         .in 0n+.5i
     Part:             zCrosshairFeedback
     Appearance:       Yellow crossHair in x-y plane
     Description:      Displayed when translating perpendicular to x-y plane.

                         .in 0n+.5i
     Resource:         transformerXCircleFeedback
                         .in 0n+.5i
     Part:             xCircleFeedback
     Appearance:       Purple Unit Circle about X axis
     Description:      Displayed when rotating about X axis

                         .in 0n+.5i
     Resource:         transformerYCircleFeedback
                         .in 0n+.5i
     Part:             yCircleFeedback
     Appearance:       Purple Unit Circle about Y axis
     Description:      Displayed when rotating about Y axis

                         .in 0n+.5i
     Resource:         transformerZCircleFeedback
                         .in 0n+.5i
     Part:             zCircleFeedback
     Appearance:       Purple Unit Circle about Z axis
     Description:      Displayed when rotating about Z axis

                         .in 0n+.5i
     Resource:         transformerRadialFeedback
                         .in 0n+.5i
     Part:             radialFeedback
     Appearance:       Purple Rays emanating from center through corners
     Description:      Displayed when scaling uniformly about center.

                         .in 0n+.5i
     Resource:         transformerTranslateBoxFeedback
                         .in 0n+.5i
     Part:             translateBoxFeedback
     Appearance:       Purple Box with one bright yellow side
     Description:      Displayed when translating. Automatically oriented so yellow side matches selected face.

                         .in 0n+.5i
     Resource:         transformerPosXWallFeedback
                         .in 0n+.5i
     Part:             posXWallFeedback
     Appearance:       Purple Plane along Right side of transformer
     Description:      Displayed when <Control> scaling and keeping right side fixed.

                         .in 0n+.5i
     Resource:         transformerPosYWallFeedback
                         .in 0n+.5i
     Part:             posYWallFeedback
     Appearance:       Purple Plane along Top side of transformer
     Description:      Displayed when <Control> scaling and keeping top side fixed.

                         .in 0n+.5i
     Resource:         transformerPosZWallFeedback
                         .in 0n+.5i
     Part:             posZWallFeedback
     Appearance:       Purple Plane along Front side of transformer
     Description:      Displayed when <Control> scaling and keeping front side fixed.

                         .in 0n+.5i
     Resource:         transformerNegXWallFeedback
                         .in 0n+.5i
     Part:             negXWallFeedback
     Appearance:       Purple Plane along Left side of transformer
     Description:      Displayed when <Control> scaling and keeping left side fixed.

                         .in 0n+.5i
     Resource:         transformerNegYWallFeedback
                         .in 0n+.5i
     Part:             negYWallFeedback
     Appearance:       Purple Plane along Bottom side of transformer
     Description:      Displayed when <Control> scaling and keeping bottom side fixed.

                         .in 0n+.5i
     Resource:         transformerNegZWallFeedback
                         .in 0n+.5i
     Part:             negZWallFeedback
     Appearance:       Purple Plane along Back side of transformer
     Description:      Displayed when <Control> scaling and keeping back side fixed.

Fields

SoSFRotationrotation
          Orientation of the dragger.

     SoSFVec3ftranslation
          Position of the dragger.

     SoSFVec3fscaleFactor
          Scale of the dragger.

     SoSFFloatminDiscRotDot
          Specifies  the  minimum  dot  product between eyeDir and rotPlane normal before switching from record-
          player-type rotation to rolling-pin-type rotation. This transition is made so that rotations don't get
          screwy when the circle is edge-on. Lies in range [0-1]. Best to leave this alone.

File Format/Defaults

TransformerDragger{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTOisActiveFALSEtranslation000scaleFactor111rotation0010minDiscRotDot0.025callbackListNULLsurroundScaleNULLtranslator1<transformerTranslator1resource>translator1Active<transformerTranslator1Activeresource>translator2<transformerTranslator2resource>translator2Active<transformerTranslator2Activeresource>translator3<transformerTranslator3resource>translator3Active<transformerTranslator3Activeresource>translator4<transformerTranslator4resource>translator4Active<transformerTranslator4Activeresource>translator5<transformerTranslator5resource>translator5Active<transformerTranslator5Activeresource>translator6<transformerTranslator6resource>translator6Active<transformerTranslator6Activeresource>rotator1<transformerRotator1resource>rotator1Active<transformerRotator1Activeresource>rotator2<transformerRotator2resource>rotator2Active<transformerRotator2Activeresource>rotator3<transformerRotator3resource>rotator3Active<transformerRotator3Activeresource>rotator4<transformerRotator4resource>rotator4Active<transformerRotator4Activeresource>rotator5<transformerRotator5resource>rotator5Active<transformerRotator5Activeresource>rotator6<transformerRotator6resource>rotator6Active<transformerRotator6Activeresource>scale1<transformerScale1resource>scale1Active<transformerScale1Activeresource>scale2<transformerScale2resource>scale2Active<transformerScale2Activeresource>scale3<transformerScale3resource>scale3Active<transformerScale3Activeresource>scale4<transformerScale4resource>scale4Active<transformerScale4Activeresource>scale5<transformerScale5resource>scale5Active<transformerScale5Activeresource>scale6<transformerScale6resource>scale6Active<transformerScale6Activeresource>scale7<transformerScale7resource>scale7Active<transformerScale7Activeresource>scale8<transformerScale8resource>scale8Active<transformerScale8Activeresource>xAxisFeedbackActive<transformerXAxisFeedbackActiveresource>xAxisFeedbackSelect<transformerXAxisFeedbackSelectresource>xCrosshairFeedback<transformerXCrosshairFeedbackresource>yAxisFeedbackActive<transformerYAxisFeedbackActiveresource>yAxisFeedbackSelect<transformerYAxisFeedbackSelectresource>yCrosshairFeedback<transformerYCrosshairFeedbackresource>zAxisFeedbackActive<transformerZAxisFeedbackActiveresource>zAxisFeedbackSelect<transformerZAxisFeedbackSelectresource>zCrosshairFeedback<transformerZCrosshairFeedbackresource>translateBoxFeedback<transformerTranslateBoxFeedbackresource>scaleBoxFeedback<transformerScaleBoxFeedbackresource>posXWallFeedback<transformerPosXWallFeedbackresource>posXRoundWallFeedback<transformerPosXRoundWallFeedbackresource>posYWallFeedback<transformerPosYWallFeedbackresource>posYRoundWallFeedback<transformerPosYRoundWallFeedbackresource>posZWallFeedback<transformerPosZWallFeedbackresource>posZRoundWallFeedback<transformerPosZRoundWallFeedbackresource>negXWallFeedback<transformerNegXWallFeedbackresource>negXRoundWallFeedback<transformerNegXRoundWallFeedbackresource>negYWallFeedback<transformerNegYWallFeedbackresource>negYRoundWallFeedback<transformerNegYRoundWallFeedbackresource>negZWallFeedback<transformerNegZWallFeedbackresource>negZRoundWallFeedback<transformerNegZRoundWallFeedbackresource>radialFeedback<transformerRadialFeedbackresource>xCircleFeedback<transformerXCircleFeedbackresource>yCircleFeedback<transformerYCircleFeedbackresource>zCircleFeedback<transformerZCircleFeedbackresource>none<transformerLocateMaterialresource>}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoTransformerDragger

Methods

SoTransformerDragger()
          Constructor.

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

     voidsetColinearThreshold(intnewVal)intgetColinearThreshold()
          When picking a direction for constraining based on gesture, this paramater determines how many  pixels
          must  separate  two  axes before they are regarded as distinct. If they are deemed "the same" then the
          shorter of the two will be discarded.

     voidsetLocateHighlighting(SbBoolonOff)SbBoolisLocateHighlighting()
          Controls whether or not locate highlighting is used. Default is TRUE.

     voidunsquishKnobs()
          Tells the dragger to unsquish its rotation and scale knobs during the next traversal. Ordinarily,  the
          knobs  are only unsquished upon readin from file and when the mouse button is released at the end of a
          drag. If you want this to happen more often, then you should call this method.

Name

       SoTransformerDragger — box-like object you scale, rotate, and translate by dragging with the mouse

See Also

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

Synopsis

#include<Inventor/draggers/SoTransformerDragger.h>

          Fields from class SoTransformerDragger:

     SoSFRotationrotationSoSFVec3ftranslationSoSFVec3fscaleFactorSoSFFloatminDiscRotDot

          Fields from class SoDragger:

     SoSFBoolisActive

          Fields from class SoInteractionKit:

     SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling

          Parts from class SoBaseKit:

     (SoNodeKitListPart)callbackList

          Methods from class SoTransformerDragger:

                         SoTransformerDragger()staticconstSoNodekitCatalog*getClassNodekitCatalog()conststaticSoTypegetClassTypeId()staticconstSoNodekitCatalog*getClassNodekitCatalog()conststaticSoTypegetClassTypeId()voidsetColinearThreshold(intnewVal)intgetColinearThreshold()voidsetLocateHighlighting(SbBoolonOff)SbBoolisLocateHighlighting()voidunsquishKnobs()

          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