com.sun.j3d.utils.picking.behaviors
Class PickMouseBehavior

java.lang.Object
  extended by javax.media.j3d.SceneGraphObject
      extended by javax.media.j3d.Node
          extended by javax.media.j3d.Leaf
              extended by javax.media.j3d.Behavior
                  extended by com.sun.j3d.utils.picking.behaviors.PickMouseBehavior
Direct Known Subclasses:
PickRotateBehavior, PickTranslateBehavior, PickZoomBehavior

public abstract class PickMouseBehavior
extends Behavior

Base class that allows users to adding picking and mouse manipulation to the scene graph (see PickDragBehavior for an example of how to extend this base class). This class is useful for interactive apps.


Field Summary
protected  boolean buttonPress
           
protected  WakeupCriterion[] conditions
           
protected  TransformGroup currGrp
           
protected static boolean debug
           
protected  java.awt.event.MouseEvent mevent
           
protected  PickCanvas pickCanvas
           
protected  WakeupOr 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
 
Constructor Summary
PickMouseBehavior(Canvas3D canvas, BranchGroup root, Bounds bounds)
          Creates a PickMouseBehavior given current canvas, root of the tree to operate on, and the bounds.
 
Method Summary
 int getMode()
          Returns the pickMode
 float getTolerance()
          Returns the pick tolerance
 void initialize()
          Initialize this behavior.
 void processStimulus(java.util.Enumeration criteria)
          Process a stimulus meant for this behavior.
 void setMode(int pickMode)
          Sets the pick mode
 void setTolerance(float tolerance)
          Sets the pick tolerance
abstract  void updateScene(int xpos, int ypos)
          Subclasses shall implement this update function
 
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pickCanvas

protected PickCanvas pickCanvas

conditions

protected WakeupCriterion[] conditions

wakeupCondition

protected WakeupOr wakeupCondition

buttonPress

protected boolean buttonPress

currGrp

protected TransformGroup currGrp

debug

protected static final boolean debug
See Also:
Constant Field Values

mevent

protected java.awt.event.MouseEvent mevent
Constructor Detail

PickMouseBehavior

public PickMouseBehavior(Canvas3D canvas,
                         BranchGroup root,
                         Bounds bounds)
Creates a PickMouseBehavior given current canvas, root of the tree to operate on, and the bounds.

Method Detail

setMode

public void setMode(int pickMode)
Sets the pick mode

See Also:
PickTool.setMode(int)

getMode

public int getMode()
Returns the pickMode

See Also:
PickTool.getMode()

setTolerance

public void setTolerance(float tolerance)
Sets the pick tolerance

See Also:
PickCanvas.setTolerance(float)

getTolerance

public float getTolerance()
Returns the pick tolerance

See Also:
PickCanvas.getTolerance()

initialize

public void initialize()
Description copied from class: Behavior
Initialize this behavior. Classes that extend Behavior must provide their own initialize method.
NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.

Specified by:
initialize in class Behavior

processStimulus

public void processStimulus(java.util.Enumeration criteria)
Description copied from class: Behavior
Process a stimulus meant for this behavior. This method is invoked if the Behavior's wakeup criteria are satisfied and an active ViewPlatform's activation volume intersects with the Behavior's scheduling region. Classes that extend Behavior must provide their own processStimulus method.
NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.

Specified by:
processStimulus in class Behavior
Parameters:
criteria - an enumeration of triggered wakeup criteria for this behavior

updateScene

public abstract void updateScene(int xpos,
                                 int ypos)
Subclasses shall implement this update function



Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.