| |
|
| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.Node javax.media.j3d.Leaf javax.media.j3d.Behavior com.db.behaviors.PickViewerBehavior
All known Subclasses: com.db.behaviors.StandardPickViewer,
PickViewerBehavior | abstract public class PickViewerBehavior extends Behavior (Code) | | A mouse behavior that allows user to pick and minipulate scene graph objects.
Manipulations include translation, rotation and zoom.
The behavior maps mouse drags to different transforms depending
upon the mosue button held down:
Button 1 (left)
Translation of dragged object
Button 2 (middle)
Rotation of dragged object around itself
Button 3 (right)
Zoom of dragged object towards user
To support systems with 2 or 1 mouse buttons, the following
alternate mappings are supported while dragging with any mouse
button held down and zero or more keyboard modifiers held down:
No modifiers = Button 1
ALT = Button 2
Meta = Button 3
Control = Button 3
Common usage:
1. Create your scene graph.
2. Create this behavior with root and canvas.
StandardPickViewerBehavior behavior = new StandardPickViewerBehavior(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).
|
Constructor Summary | |
public | PickViewerBehavior() Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into a transform group given later
with the setTransformGroup( ) method. | public | PickViewerBehavior(Canvas3D parent) Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into a transform group given later
with the setTransformGroup( ) method. | public | PickViewerBehavior(BranchGroup branchGroup) Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into the given transform group. | public | PickViewerBehavior(BranchGroup branchGroup, Canvas3D parent) Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into the given transform group. |
BUTTON1 | final protected static int BUTTON1(Code) | | |
BUTTON2 | final protected static int BUTTON2(Code) | | |
BUTTON3 | final protected static int BUTTON3(Code) | | |
BUTTONNONE | final protected static int BUTTONNONE(Code) | | |
DEFAULT_HIGHLIGHT_LEVEL | final public static float DEFAULT_HIGHLIGHT_LEVEL(Code) | | |
DEFAULT_PICK_ACTIVE_CURSOR | final public static Cursor DEFAULT_PICK_ACTIVE_CURSOR(Code) | | |
DEFAULT_XROTATION_FACTOR | final public static double DEFAULT_XROTATION_FACTOR(Code) | | Default X and Y rotation factors, and XYZ translation factors.
|
DEFAULT_XTRANSLATION_FACTOR | final public static double DEFAULT_XTRANSLATION_FACTOR(Code) | | |
DEFAULT_YROTATION_FACTOR | final public static double DEFAULT_YROTATION_FACTOR(Code) | | |
DEFAULT_YTRANSLATION_FACTOR | final public static double DEFAULT_YTRANSLATION_FACTOR(Code) | | |
DEFAULT_ZTRANSLATION_FACTOR | final public static double DEFAULT_ZTRANSLATION_FACTOR(Code) | | |
UNUSUAL_XDELTA | final protected static int UNUSUAL_XDELTA(Code) | | |
UNUSUAL_YDELTA | final protected static int UNUSUAL_YDELTA(Code) | | |
XRotationFactor | protected double XRotationFactor(Code) | | |
XTranslationFactor | protected double XTranslationFactor(Code) | | |
YRotationFactor | protected double YRotationFactor(Code) | | |
YTranslationFactor | protected double YTranslationFactor(Code) | | |
ZTranslationFactor | protected double ZTranslationFactor(Code) | | |
buttonPressed | protected int buttonPressed(Code) | | |
highlightLevel | protected float highlightLevel(Code) | | |
matrix | protected Matrix4d matrix(Code) | | |
origin | protected Vector3d origin(Code) | | |
pickMode | protected int pickMode(Code) | | |
translate | protected Vector3d translate(Code) | | |
PickViewerBehavior | public PickViewerBehavior()(Code) | | Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into a transform group given later
with the setTransformGroup( ) method.
|
PickViewerBehavior | public PickViewerBehavior(Canvas3D parent)(Code) | | Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into a transform group given later
with the setTransformGroup( ) method.
Parameters: parent - The AWT Component that contains the areagenerating mouse events. |
PickViewerBehavior | public PickViewerBehavior(BranchGroup branchGroup)(Code) | | Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into the given transform group.
Parameters: transformGroup - The transform group to be modifiedby the behavior. |
PickViewerBehavior | public PickViewerBehavior(BranchGroup branchGroup, Canvas3D parent)(Code) | | Construct a viewer behavior that listens to mouse movement
and button presses to generate rotation and translation
transforms written into the given transform group.
Parameters: transformGroup - The transform group to be modifiedby the behavior. Parameters: parent - The AWT Component that contains the areagenerating mouse events. |
getActiveCursor | public Cursor getActiveCursor()(Code) | | Get the active cursor we work with when an event occurs.
Parameters: cursor - The cursor active when the user picks something. |
getBranchGroup | public BranchGroup getBranchGroup()(Code) | | Get the transform group modified by the viewer behavior.
|
getHighlightLevel | public float getHighlightLevel()(Code) | | |
getPickMode | public int getPickMode()(Code) | | Return the pickMode component of this PickRotateBehavior.
|
getXRotationFactor | public double getXRotationFactor()(Code) | | Get the current X rotation scaling factor for X-axis rotations.
|
getXTranslationFactor | public double getXTranslationFactor()(Code) | | Get the current X translation scaling factor for X-axis translations.
|
getYRotationFactor | public double getYRotationFactor()(Code) | | Get the current Y rotation scaling factor for Y-axis rotations.
|
getYTranslationFactor | public double getYTranslationFactor()(Code) | | Get the current Y translation scaling factor for Y-axis translations.
|
getZTranslationFactor | public double getZTranslationFactor()(Code) | | Get the current Z translation scaling factor for Z-axis translations.
|
highlightColor | protected Color3f highlightColor(Color3f color3f)(Code) | | |
initialize | public void initialize()(Code) | | Initialize the behavior.
|
onButton1 | abstract public void onButton1(MouseEvent mouseEvent)(Code) | | Respond to a button1 event (press, release, or drag).
Parameters: mouseEvent - A MouseEvent to respond to. |
onButton2 | abstract public void onButton2(MouseEvent mouseEvent)(Code) | | Respond to a button2 event (press, release, or drag).
Parameters: mouseEvent - A MouseEvent to respond to. |
onButton3 | abstract public void onButton3(MouseEvent mouseEvent)(Code) | | Responed to a button3 event (press, release, or drag).
Parameters: mouseEvent - A MouseEvent to respond to. |
onElapsedFrames | abstract public void onElapsedFrames(WakeupOnElapsedFrames timeEvent)(Code) | | Respond to an elapsed frames event (assuming subclass has set up a
wakeup criterion for it).
Parameters: time - A WakeupOnElapsedFrames criterion to respond to. |
processStimulus | public void processStimulus(Enumeration criteria)(Code) | | Process a new wakeup. Interpret mouse button presses, releases,
and mouse drags.
Parameters: criteria - The wakeup criteria causing the behavior wakeup. |
setActiveCursor | public void setActiveCursor(Cursor cursor)(Code) | | Set the active cursor to work with when an event occurs.
Parameters: cursor - The cursor active when the user picks something. |
setBranchGroup | public void setBranchGroup(BranchGroup branchGroup)(Code) | | Set the transform group modified by the viewer behavior.
Setting the transform group to null disables the behavior
until the transform group is again set to an existing group.
Parameters: transformGroup - The new transform group to be modifiedby the behavior. |
setHighlightLevel | public void setHighlightLevel(float level)(Code) | | |
setParentComponent | public void setParentComponent(Canvas3D parent)(Code) | | Sets the parent component who's cursor will be changed during
mouse drags. If no component is given is given to the
constructor, or set via this method, no cursor changes
will be done.
Parameters: parent - the AWT Component, such as a Frame, within whichcursor changes should take place duringmouse drags |
setPickMode | public void setPickMode(int pickMode)(Code) | | Sets the pickMode component of this PickRotateBehavior to the value of
the passed pickMode.
Parameters: pickMode - the pickMode to be copied. |
setXRotationFactor | public void setXRotationFactor(double factor)(Code) | | Set the X rotation scaling factor for X-axis rotations.
Parameters: factor - The new scaling factor. |
setXTranslationFactor | public void setXTranslationFactor(double factor)(Code) | | Set the X translation scaling factor for X-axis translations.
Parameters: factor - The new scaling factor. |
setYRotationFactor | public void setYRotationFactor(double factor)(Code) | | Set the Y rotation scaling factor for Y-axis rotations.
Parameters: factor - The new scaling factor. |
setYTranslationFactor | public void setYTranslationFactor(double factor)(Code) | | Set the Y translation scaling factor for Y-axis translations.
Parameters: factor - The new scaling factor. |
setZTranslationFactor | public void setZTranslationFactor(double factor)(Code) | | Set the Z translation scaling factor for Z-axis translations.
Parameters: factor - The new scaling factor. |
|
|
|