Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

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

INHERITS FROM

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

SYNOPSIS

       #include <Inventor/draggers/SoTransformerDragger.h>

          Fields from class SoTransformerDragger:

     SoSFRotation        rotation
     SoSFVec3f           translation
     SoSFVec3f           scaleFactor
     SoSFFloat           minDiscRotDot

          Fields from class SoDragger:

     SoSFBool            isActive

          Fields from class SoInteractionKit:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Parts from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

          Methods from class SoTransformerDragger:

                         SoTransformerDragger()
     static const SoNodekitCatalog *
                         getClassNodekitCatalog() const
     static SoType       getClassTypeId()
     static const SoNodekitCatalog *
                         getClassNodekitCatalog() const
     static SoType       getClassTypeId()
     void                setColinearThreshold(int newVal )
     int                 getColinearThreshold()
     void                setLocateHighlighting(SbBool onOff )
     SbBool              isLocateHighlighting()
     void                unsquishKnobs()

          Methods from class SoDragger:

     void                addStartCallback(SoDraggerCB *f, void *userData = NULL)
     void                removeStartCallback(SoDraggerCB *f, void *userData = NULL)
     void                addMotionCallback(SoDraggerCB *f, void *userData = NULL)
     void                removeMotionCallback(SoDraggerCB *f, void *userData = NULL)
     void                addFinishCallback(SoDraggerCB *f, void *userData = NULL)
     void                removeFinishCallback(SoDraggerCB *f, void *userData = NULL)
     void                addValueChangedCallback(SoDraggerCB *f, void *userData = NULL)
     void                removeValueChangedCallback(SoDraggerCB *f, void *userData = NULL)
     SbBool              enableValueChangedCallbacks()
     void                setMinGesture(int pixels)
     int                 getMinGesture() const
     static void         setMinScale(float newMinScale)
     static float        getMinScale()

          Methods from class SoInteractionKit:

     virtual SbBool      setPartAsPath(const SbName &partName, SoPath *surrogatePath )

          Methods from class SoBaseKit:

     virtual const SoNodekitCatalog *
                              getNodekitCatalog() const
     virtual SoNode *         getPart(const SbName &partName, SbBool makeIfNeeded)
     SbString                 getPartString(const SoBase *part)
     virtual  SoNodeKitPath  *  createPathToPart(const  SbName  &partName,  SbBool  makeIfNeeded,  const  SoPath
                                   *pathToExtend = NULL)
     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
     SbBool                   set(char *partName, char *parameters)
     SbBool                   set(char *nameValuePairs)
     static SbBool            isSearchingChildren()
     static void              setSearchingChildren(SbBool newVal)

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName) const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const

          Macros from class SoBaseKit:

     SO_GET_PART(kit, partName, partClass)
     SO_CHECK_PART(kit, partName, partClass)

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 feedback arrows 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 spherical knobs 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.

FIELDS

     SoSFRotation        rotation
          Orientation of the dragger.

     SoSFVec3f           translation
          Position of the dragger.

     SoSFVec3f           scaleFactor
          Scale of the dragger.

     SoSFFloat           minDiscRotDot
          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.

METHODS

                         SoTransformerDragger()
          Constructor.

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

     static SoType       getClassTypeId()
          Returns type identifier for this class.

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

     static SoType       getClassTypeId()
          Returns type identifier for this class.

     void                setColinearThreshold(int newVal )
     int                 getColinearThreshold()
          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.

     void                setLocateHighlighting(SbBool onOff )
     SbBool              isLocateHighlighting()
          Controls whether or not locate highlighting is used. Default is TRUE.

     void                unsquishKnobs()
          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.

CATALOG PARTS

       ┌─────────────────────────────────────────────────────────────────┐
       │                           All parts                             │
       │                                                         NULL by │
       │Part Name               Part Type         Default Type   Default │
       │                                                                 │
       │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   │
       │                                                                 │
       └─────────────────────────────────────────────────────────────────┘
       ┌───────────────────────────────────────────────────────────────┐
       │      Extra information for list parts from above table        │
       │                                                               │
       │Part Name      Container Type   Permissible Types              │
       │                                                               │
       │callbackList   Separator        Callback, EventCallback        │
       │                                                               │
       └───────────────────────────────────────────────────────────────┘

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.

FILE FORMAT/DEFAULTS

       TransformerDragger {
          renderCaching          AUTO
          boundingBoxCaching     AUTO
          renderCulling          AUTO
          pickCulling            AUTO
          isActive               FALSE
          translation            0 0 0
          scaleFactor            1 1 1
          rotation               0 0 1  0
          minDiscRotDot          0.025
          callbackList           NULL
          surroundScale          NULL
          translator1            <transformerTranslator1 resource>
          translator1Active      <transformerTranslator1Active resource>
          translator2            <transformerTranslator2 resource>
          translator2Active      <transformerTranslator2Active resource>
          translator3            <transformerTranslator3 resource>
          translator3Active      <transformerTranslator3Active resource>
          translator4            <transformerTranslator4 resource>
          translator4Active      <transformerTranslator4Active resource>
          translator5            <transformerTranslator5 resource>
          translator5Active      <transformerTranslator5Active resource>
          translator6            <transformerTranslator6 resource>
          translator6Active      <transformerTranslator6Active resource>
          rotator1               <transformerRotator1 resource>
          rotator1Active         <transformerRotator1Active resource>
          rotator2               <transformerRotator2 resource>
          rotator2Active         <transformerRotator2Active resource>
          rotator3               <transformerRotator3 resource>
          rotator3Active         <transformerRotator3Active resource>
          rotator4               <transformerRotator4 resource>
          rotator4Active         <transformerRotator4Active resource>
          rotator5               <transformerRotator5 resource>
          rotator5Active         <transformerRotator5Active resource>
          rotator6               <transformerRotator6 resource>
          rotator6Active         <transformerRotator6Active resource>
          scale1                 <transformerScale1 resource>
          scale1Active           <transformerScale1Active resource>
          scale2                 <transformerScale2 resource>
          scale2Active           <transformerScale2Active resource>
          scale3                 <transformerScale3 resource>
          scale3Active           <transformerScale3Active resource>
          scale4                 <transformerScale4 resource>
          scale4Active           <transformerScale4Active resource>
          scale5                 <transformerScale5 resource>
          scale5Active           <transformerScale5Active resource>
          scale6                 <transformerScale6 resource>
          scale6Active           <transformerScale6Active resource>
          scale7                 <transformerScale7 resource>
          scale7Active           <transformerScale7Active resource>
          scale8                 <transformerScale8 resource>
          scale8Active           <transformerScale8Active resource>
          xAxisFeedbackActive    <transformerXAxisFeedbackActive resource>
          xAxisFeedbackSelect    <transformerXAxisFeedbackSelect resource>
          xCrosshairFeedback     <transformerXCrosshairFeedback resource>
          yAxisFeedbackActive    <transformerYAxisFeedbackActive resource>
          yAxisFeedbackSelect    <transformerYAxisFeedbackSelect resource>
          yCrosshairFeedback     <transformerYCrosshairFeedback resource>
          zAxisFeedbackActive    <transformerZAxisFeedbackActive resource>
          zAxisFeedbackSelect    <transformerZAxisFeedbackSelect resource>
          zCrosshairFeedback     <transformerZCrosshairFeedback resource>
          translateBoxFeedback   <transformerTranslateBoxFeedback resource>
          scaleBoxFeedback       <transformerScaleBoxFeedback resource>
          posXWallFeedback       <transformerPosXWallFeedback resource>
          posXRoundWallFeedback  <transformerPosXRoundWallFeedback resource>
          posYWallFeedback       <transformerPosYWallFeedback resource>
          posYRoundWallFeedback  <transformerPosYRoundWallFeedback resource>
          posZWallFeedback       <transformerPosZWallFeedback resource>
          posZRoundWallFeedback  <transformerPosZRoundWallFeedback resource>
          negXWallFeedback       <transformerNegXWallFeedback resource>
          negXRoundWallFeedback  <transformerNegXRoundWallFeedback resource>
          negYWallFeedback       <transformerNegYWallFeedback resource>
          negYRoundWallFeedback  <transformerNegYRoundWallFeedback resource>
          negZWallFeedback       <transformerNegZWallFeedback resource>
          negZRoundWallFeedback  <transformerNegZRoundWallFeedback resource>
          radialFeedback         <transformerRadialFeedback resource>
          xCircleFeedback        <transformerXCircleFeedback resource>
          yCircleFeedback        <transformerYCircleFeedback resource>
          zCircleFeedback        <transformerZCircleFeedback resource>
          none                   <transformerLocateMaterial resource>
     }

SEE ALSO

       SoDragger,    SoInteractionKit,    SoLocateHighlight,   SoCenterballDragger,   SoDirectionalLightDragger,
       SoDragPointDragger, SoHandleBoxDragger, SoJackDragger,  SoPointLightDragger,  SoRotateCylindricalDragger,
       SoRotateDiscDragger,  SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger,
       SoScaleUniformDragger,  SoSpotLightDragger,   SoTabBoxDragger,   SoTabPlaneDragger,   SoTrackballDragger,
       SoTransformBoxDragger, SoTranslate1Dragger, SoTranslate2Dragger

                                                                                     SoTransformerDragger(3IV)()