com.sun.j3d.utils.behaviors.picking
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.behaviors.picking.PickMouseBehavior
|
+--com.sun.j3d.utils.behaviors.picking.PickRotateBehavior
- public class PickRotateBehavior
- extends PickMouseBehavior
- implements 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 |
Method Summary |
int |
getPickMode()
Return the pickMode component of this PickRotateBehavior. |
void |
setPickMode(int pickMode)
Sets the pickMode component of this PickRotateBehavior to the value of
the passed pickMode. |
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 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 java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
PickRotateBehavior
public PickRotateBehavior(BranchGroup root,
Canvas3D canvas,
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.
PickRotateBehavior
public PickRotateBehavior(BranchGroup root,
Canvas3D canvas,
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.
setPickMode
public void setPickMode(int pickMode)
- Sets the pickMode component of this PickRotateBehavior to the value of
the passed pickMode.
- Parameters:
pickMode
- the pickMode to be copied.
getPickMode
public int getPickMode()
- Return the pickMode component of this PickRotateBehavior.
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.
- Overrides:
- 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 MouseRotate
This is used when the Picking callback is enabled
- Specified by:
- transformChanged in interface MouseBehaviorCallback
- Tags copied from 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