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.pickfast.behaviors.PickMouseBehavior
com.sun.j3d.utils.pickfast.behaviors.PickRotateBehavior
- All Implemented Interfaces:
MouseBehaviorCallback
A mouse behavior that allows user to pick and rotate 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 rotates 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.pickfast.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
ConstructorsConstructorDescriptionPickRotateBehavior
(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
Modifier and TypeMethodDescriptionvoid
setupCallback
(PickingCallback callback) Register the class @param callback to be called each time the picked object movesvoid
transformChanged
(int type, Transform3D transform) Callback method from MouseRotate This is used when the Picking callback is enabledvoid
updateScene
(int xpos, int ypos) Update the scene to manipulate any nodes.Methods inherited from class com.sun.j3d.utils.pickfast.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
-
Constructor Details
-
PickRotateBehavior
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
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.PICK_BOUNDS or PickTool.PICK_GEOMETRY.- See Also:
-
-
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 classPickMouseBehavior
- Parameters:
xpos
- Current mouse X pos.ypos
- Current mouse Y pos.
-
transformChanged
Callback method from MouseRotate This is used when the Picking callback is enabled- Specified by:
transformChanged
in interfaceMouseBehaviorCallback
- Parameters:
type
- will be one of ROTATE, TRANSLATE or ZOOM
-
setupCallback
Register the class @param callback to be called each time the picked object moves
-