Package com.sun.j3d.utils.picking.behaviors

# 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.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

Fields
Modifier and Type
Field
Description
`protected boolean`
`buttonPress`
`protected WakeupCriterion[]`
`conditions`
`protected TransformGroup`
`currGrp`
`protected static final boolean`
`debug`
`protected 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

Constructors
Constructor
Description
`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

Modifier and Type
Method
Description
`int`
`getMode()`
Returns the pickMode
`float`
`getTolerance()`
Returns the pick tolerance
`void`
`initialize()`
Initialize this behavior.
`void`
`processStimulus(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 Details

### 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 MouseEvent mevent

## Constructor Details

### 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 Details

### 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(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