org.wilmascope.view
Class GraphPickBehavior
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
org.wilmascope.view.GraphPickBehavior
public class GraphPickBehavior
- extends com.sun.j3d.utils.picking.behaviors.PickMouseBehavior
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.
GraphPickBehavior behavior = new GraphPickBehavior(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).
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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING |
Constructor Summary |
GraphPickBehavior(javax.media.j3d.BranchGroup root,
javax.media.j3d.Canvas3D canvas,
javax.media.j3d.Bounds bounds)
Creates a pick/rotate behavior that waits for user mouse events for
the scene graph. |
GraphPickBehavior(javax.media.j3d.BranchGroup root,
javax.media.j3d.Canvas3D canvas,
javax.media.j3d.Bounds bounds,
int pickMode)
Creates a pick/rotate behavior that waits for user mouse events for
the scene graph. |
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, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GraphPickBehavior
public GraphPickBehavior(javax.media.j3d.BranchGroup root,
javax.media.j3d.Canvas3D canvas,
javax.media.j3d.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.
GraphPickBehavior
public GraphPickBehavior(javax.media.j3d.BranchGroup root,
javax.media.j3d.Canvas3D canvas,
javax.media.j3d.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 PickObject.USE_BOUNDS or PickObject.USE_GEOMETRY.
Note: If pickMode is set to PickObject.USE_GEOMETRY, all geometry object in
the scene graph that allows pickable must have its ALLOW_INTERSECT bit set.
setRootPickingClient
public void setRootPickingClient(PickingClient client)
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 com.sun.j3d.utils.picking.behaviors.PickMouseBehavior
- Parameters:
xpos
- Current mouse X pos.ypos
- Current mouse Y pos.