# Class PickTranslateBehavior

java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Behavior
com.sun.j3d.utils.pickfast.behaviors.PickMouseBehavior
com.sun.j3d.utils.pickfast.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 PickMouseBehavior

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

### Fields inherited from class 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 MouseBehaviorCallback

`ROTATE, TRANSLATE, ZOOM`

## Constructor Summary

Constructors
Constructor
Description
`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

Modifier and Type
Method
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 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 PickMouseBehavior

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

### Methods inherited from class Behavior

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

### Methods inherited from class 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 SceneGraphObject

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

### Methods inherited from class Object

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

## Constructor Details

### 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.PICK_BOUNDS or PickTool.PICK_GEOMETRY.
See Also:
  - `PickTool.setMode(int)`

## Method Details

### 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