com.sun.j3d.utils.picking.behaviors

## Class PickRotateBehavior

- java.lang.Object
- - javax.media.j3d.SceneGraphObject
  - - javax.media.j3d.Node
    - - javax.media.j3d.Leaf
      - - javax.media.j3d.Behavior
        - - com.sun.j3d.utils.picking.behaviors.PickMouseBehavior
          - - com.sun.j3d.utils.picking.behaviors.PickRotateBehavior

- All Implemented Interfaces:
    MouseBehaviorCallback

      public class PickRotateBehavior
      extends PickMouseBehavior
      implements MouseBehaviorCallback

  A mouse behavior that allows user to pick and drag scene graph objects. Common usage:

  1. Create your scene graph.

  2. Create this behavior with root and canvas.

  >             PickRotateBehavior behavior = new PickRotateBehavior(canvas, root, bounds);
  >           root.addChild(behavior);

  The above behavior will monitor for any picking events on the scene graph (below root node) and handle mouse drags on pick hits. Note the root node can also be a subgraph node of the scene graph (rather than the topmost).

- - ### Field Summary

    - ### Fields inherited from class com.sun.j3d.utils.picking.behaviors.PickMouseBehavior

      `buttonPress, conditions, currGrp, debug, mevent, pickCanvas, wakeupCondition`

    - ### Fields inherited from class javax.media.j3d.Node

      `ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

    - ### Fields inherited from interface com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback

      `ROTATE, TRANSLATE, ZOOM`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PickRotateBehavior(BranchGroup root, Canvas3D canvas, Bounds bounds)` Creates a pick/rotate behavior that waits for user mouse events for the scene graph.
    `PickRotateBehavior(BranchGroup root, Canvas3D canvas, Bounds bounds, int pickMode)` Creates a pick/rotate behavior that waits for user mouse events for the scene graph.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setupCallback(PickingCallback callback)` Register the class @param callback to be called each time the picked object moves
    `void` | `transformChanged(int type, Transform3D transform)` Callback method from MouseRotate This is used when the Picking callback is enabled
    `void` | `updateScene(int xpos, int ypos)` Update the scene to manipulate any nodes.

    - ### Methods inherited from class com.sun.j3d.utils.picking.behaviors.PickMouseBehavior

      `getMode, getTolerance, initialize, processStimulus, setMode, setTolerance`

    - ### Methods inherited from class javax.media.j3d.Behavior

      `getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn`

    - ### Methods inherited from class javax.media.j3d.Node

      `cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

    - ### Methods inherited from class javax.media.j3d.SceneGraphObject

      `clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PickRotateBehavior

          public PickRotateBehavior(BranchGroup root,
                            Canvas3D canvas,
                            Bounds bounds)

      Creates a pick/rotate behavior that waits for user mouse events for the scene graph. This method has its pickMode set to BOUNDS picking.
      Parameters:
        `root` - Root of your scene graph.
        `canvas` - Java 3D drawing canvas.
        `bounds` - Bounds of your scene.

    - #### PickRotateBehavior

          public PickRotateBehavior(BranchGroup root,
                            Canvas3D canvas,
                            Bounds bounds,
                            int pickMode)

      Creates a pick/rotate behavior that waits for user mouse events for the scene graph.
      Parameters:
        `root` - Root of your scene graph.
        `canvas` - Java 3D drawing canvas.
        `bounds` - Bounds of your scene.
        `pickMode` - specifys PickTool.BOUNDS, PickTool.GEOMETRY or PickTool.GEOMETRY_INTERSECT_INFO.
      See Also:
        `PickTool.setMode(int)`

  - ### Method Detail

    - #### updateScene

          public void updateScene(int xpos,
                         int ypos)

      Update the scene to manipulate any nodes. This is not meant to be called by users. Behavior automatically calls this. You can call this only if you know what you are doing.
      Specified by:
        `updateScene` in class `PickMouseBehavior`
      Parameters:
        `xpos` - Current mouse X pos.
        `ypos` - Current mouse Y pos.

    - #### transformChanged

          public void transformChanged(int type,
                              Transform3D transform)

      Callback method from MouseRotate This is used when the Picking callback is enabled
      Specified by:
        `transformChanged` in interface `MouseBehaviorCallback`
      Parameters:
        `type` - will be one of ROTATE, TRANSLATE or ZOOM

    - #### setupCallback

          public void setupCallback(PickingCallback callback)

      Register the class @param callback to be called each time the picked object moves

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.