pickingExt
Class PickRotateBehavior
java.lang.Object
|
+--javax.media.j3d.SceneGraphObject
|
+--javax.media.j3d.Node
|
+--javax.media.j3d.Leaf
|
+--javax.media.j3d.Behavior
|
+--pickingExt.PickMouseBehavior
|
+--pickingExt.PickRotateBehavior
- public class PickRotateBehavior
- extends PickMouseBehavior
- implements com.sun.j3d.utils.behaviors.mouse.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).
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_PICK,
ALLOW_PICKABLE_READ,
ALLOW_PICKABLE_WRITE,
ENABLE_COLLISION_REPORTING,
ENABLE_PICK_REPORTING |
Constructor Summary |
PickRotateBehavior(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. |
PickRotateBehavior(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. |
Method Summary |
void |
setupCallback(PickingCallback callback)
Register the class @param callback to be called each
time the picked object moves |
void |
transformChanged(int type,
javax.media.j3d.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 javax.media.j3d.Behavior |
duplicateNode,
getEnable,
getSchedulingBoundingLeaf,
getSchedulingBounds,
getView,
postId,
setEnable,
setSchedulingBoundingLeaf,
setSchedulingBounds,
updateNodeReferences,
wakeupOn |
Methods inherited from class javax.media.j3d.Node |
cloneNode,
cloneTree,
cloneTree,
cloneTree,
getBounds,
getBoundsAutoCompute,
getCollidable,
getLocalToVworld,
getLocalToVworld,
getParent,
getPickable,
setBounds,
setBoundsAutoCompute,
setCollidable,
setPickable |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability,
duplicateSceneGraphObject,
getCapability,
getUserData,
isCompiled,
isLive,
setCapability,
setUserData |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
PickRotateBehavior
public PickRotateBehavior(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 constructor initializes pickMode to BOUNDS picking.
- Parameters:
root
- Root of your scene graph.canvas
- Java 3D drawing canvas.bounds
- Bounds of your scene.
PickRotateBehavior
public PickRotateBehavior(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. This constructor specifies the pickMode.
- Parameters:
root
- Root of your scene graph.canvas
- Java 3D drawing canvas.bounds
- Bounds of your scene.pickMode
- specifies PickObject.USE_BOUNDS or PickObject.USE_GEOMETRY.
Note: If pickMode is set to PickObject.USE_GEOMETRY, all the geometry
objects in the scene graph that allow picking must have the
ALLOW_INTERSECT bit set.
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.
- Parameters:
xpos
- Current mouse X pos.ypos
- Current mouse Y pos.- Overrides:
- updateScene in class PickMouseBehavior
transformChanged
public void transformChanged(int type,
javax.media.j3d.Transform3D transform)
- Callback method from MouseRotate
This is used when the Picking callback is enabled
- Specified by:
- transformChanged in interface com.sun.j3d.utils.behaviors.mouse.MouseBehaviorCallback
setupCallback
public void setupCallback(PickingCallback callback)
- Register the class @param callback to be called each
time the picked object moves