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

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
Direct Known Subclasses:
PickRotateBehavior, PickTranslateBehavior, PickZoomBehavior

public abstract class PickMouseBehavior
extends Behavior

Base class that allows users to adding picking and mouse manipulation to his 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  PickObject pickScene
          Portion of the scene graph to operate picking on.
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_PICK, 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
 void initialize()
          Initialize this behavior.
 void processStimulus(java.util.Enumeration criteria)
          Process a stimulus meant for this behavior.
abstract  void updateScene(int xpos, int ypos)
          Subclasses shall implement this update function
 
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
 

Field Detail

pickScene

protected PickObject pickScene
Portion of the scene graph to operate picking on.

conditions

protected WakeupCriterion[] conditions

wakeupCondition

protected WakeupOr wakeupCondition

buttonPress

protected boolean buttonPress

currGrp

protected TransformGroup currGrp

debug

protected static final boolean debug

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

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.
Overrides:
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 the ViewPlatform's activation region intersect 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.
Overrides:
processStimulus in class Behavior
Tags copied from 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