javax.media.ding3d.utils.picking.behaviors
Class PickTranslateBehavior

java.lang.Object
  extended by javax.media.ding3d.SceneGraphObject
      extended by javax.media.ding3d.Node
          extended by javax.media.ding3d.Leaf
              extended by javax.media.ding3d.Behavior
                  extended by javax.media.ding3d.utils.picking.behaviors.PickMouseBehavior
                      extended by javax.media.ding3d.utils.picking.behaviors.PickTranslateBehavior
All Implemented Interfaces:
MouseBehaviorCallback

public class PickTranslateBehavior
extends PickMouseBehavior
implements MouseBehaviorCallback

A mouse behavior that allows user to pick and translate scene graph objects. Common usage: 1. Create your scene graph. 2. Create this behavior with the root and canvas. See PickRotateBehavior for more details.


Field Summary
 
Fields inherited from class javax.media.ding3d.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 javax.media.ding3d.utils.behaviors.mouse.MouseBehaviorCallback
ROTATE, TRANSLATE, ZOOM
 
Constructor Summary
PickTranslateBehavior(BranchGroup root, Canvas3D canvas, Bounds bounds)
          Creates a pick/translate behavior that waits for user mouse events for the scene graph.
PickTranslateBehavior(BranchGroup root, Canvas3D canvas, Bounds bounds, int pickMode)
          Creates a pick/translate behavior that waits for user mouse events for the scene graph.
 
Method Summary
 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 MouseTranslate 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 javax.media.ding3d.utils.picking.behaviors.PickMouseBehavior
getMode, getTolerance, initialize, processStimulus, setMode, setTolerance
 
Methods inherited from class javax.media.ding3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences
 
Methods inherited from class javax.media.ding3d.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.ding3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PickTranslateBehavior

public PickTranslateBehavior(BranchGroup root,
                             Canvas3D canvas,
                             Bounds bounds)
Creates a pick/translate 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.

PickTranslateBehavior

public PickTranslateBehavior(BranchGroup root,
                             Canvas3D canvas,
                             Bounds bounds,
                             int pickMode)
Creates a pick/translate 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 MouseTranslate 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