Package com.sun.j3d.utils.behaviors.vp
Class ViewPlatformAWTBehavior
- java.lang.Object
-
- javax.media.j3d.SceneGraphObject
-
- javax.media.j3d.Node
-
- javax.media.j3d.Leaf
-
- javax.media.j3d.Behavior
-
- com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior
-
- com.sun.j3d.utils.behaviors.vp.ViewPlatformAWTBehavior
-
- All Implemented Interfaces:
java.awt.event.KeyListener,java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.awt.event.MouseWheelListener,java.util.EventListener
- Direct Known Subclasses:
OrbitBehavior
public abstract class ViewPlatformAWTBehavior extends ViewPlatformBehavior implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener, java.awt.event.MouseWheelListener
Abstract class which implements much of the event tracking and state updating in a thread safe manner. AWT Events are captured and placed in a queue. While there are pending events or motion the behavior will wake up every frame, call processAWTEvents and integrateTransforms.- Since:
- Java 3D 1.2.1
-
-
Field Summary
Fields Modifier and Type Field Description protected Canvas3D[]canvasesThe Canvas3Ds from which this Behavior gets AWT eventsprotected WakeupOnElapsedFramesframeWakeupThe different criterion for the behavior to wakeupstatic intKEY_LISTENERFlag indicating Behavior should listen for Key Eventsprotected booleanmotionBoolean for whether the mouse is in motionstatic intMOUSE_LISTENERFlag indicating Behavior should listen for Mouse Eventsstatic intMOUSE_MOTION_LISTENERFlag indicating Behavior should listen for Mouse Motion Eventsstatic intMOUSE_WHEEL_LISTENERFlag indicating Behavior should listen for MouseWheel Eventsprotected static intPOST_IDBehavior PostId used in this behaviorprotected WakeupOnBehaviorPostpostWakeupThe Or of the different criterion for the behavior to wakeupprotected Transform3DtargetTransformThe target Transform3D for this behavior-
Fields inherited from class com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior
homeTransform, targetTG, vp
-
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 Modifier Constructor Description protectedViewPlatformAWTBehavior()Parameterless constructor for this behavior, intended for use by subclasses instantiated through ConfiguredUniverse.protectedViewPlatformAWTBehavior(int listenerFlags)Construct a behavior which listens for events specified by the given flags, intended for use by subclasses instantiated through ConfiguredUniverse.ViewPlatformAWTBehavior(Canvas3D c, int listenerFlags)Constructs a new ViewPlatformAWTBehavior.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidinitialize()Initializes the behavior.protected abstract voidintegrateTransforms()Called once per frame (if the view is moving) to calculate the new view platform transformvoidkeyPressed(java.awt.event.KeyEvent e)voidkeyReleased(java.awt.event.KeyEvent e)voidkeyTyped(java.awt.event.KeyEvent e)voidmouseClicked(java.awt.event.MouseEvent e)voidmouseDragged(java.awt.event.MouseEvent e)voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidmousePressed(java.awt.event.MouseEvent e)voidmouseReleased(java.awt.event.MouseEvent e)voidmouseWheelMoved(java.awt.event.MouseWheelEvent e)protected abstract voidprocessAWTEvents(java.awt.AWTEvent[] events)This is called once per frame if there are any AWT events to process.voidprocessStimulus(java.util.Enumeration behEnum)Process a stimulus meant for this behavior.protected voidqueueAWTEvent(java.awt.AWTEvent e)Queue AWTEvents in a thread safe manner.voidsetEnable(boolean state)Overload setEnable from Behavior.protected voidsetListenerFlags(int listenerFlags)Sets listener flags for this behavior.voidsetViewingPlatform(ViewingPlatform vp)Sets the ViewingPlatform for this behavior.-
Methods inherited from class com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior
getHomeTransform, getViewingPlatform, goHome, setHomeTransform
-
Methods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, 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
-
-
-
-
Field Detail
-
POST_ID
protected static final int POST_ID
Behavior PostId used in this behavior- See Also:
- Constant Field Values
-
frameWakeup
protected WakeupOnElapsedFrames frameWakeup
The different criterion for the behavior to wakeup
-
postWakeup
protected WakeupOnBehaviorPost postWakeup
The Or of the different criterion for the behavior to wakeup
-
targetTransform
protected Transform3D targetTransform
The target Transform3D for this behavior
-
motion
protected boolean motion
Boolean for whether the mouse is in motion
-
MOUSE_LISTENER
public static final int MOUSE_LISTENER
Flag indicating Behavior should listen for Mouse Events- See Also:
- Constant Field Values
-
MOUSE_MOTION_LISTENER
public static final int MOUSE_MOTION_LISTENER
Flag indicating Behavior should listen for Mouse Motion Events- See Also:
- Constant Field Values
-
KEY_LISTENER
public static final int KEY_LISTENER
Flag indicating Behavior should listen for Key Events- See Also:
- Constant Field Values
-
MOUSE_WHEEL_LISTENER
public static final int MOUSE_WHEEL_LISTENER
Flag indicating Behavior should listen for MouseWheel Events- See Also:
- Constant Field Values
-
canvases
protected Canvas3D[] canvases
The Canvas3Ds from which this Behavior gets AWT events
-
-
Constructor Detail
-
ViewPlatformAWTBehavior
protected ViewPlatformAWTBehavior()
Parameterless constructor for this behavior, intended for use by subclasses instantiated through ConfiguredUniverse. Such a constructor is required for configurable behaviors.- Since:
- Java 3D 1.3
-
ViewPlatformAWTBehavior
protected ViewPlatformAWTBehavior(int listenerFlags)
Construct a behavior which listens for events specified by the given flags, intended for use by subclasses instantiated through ConfiguredUniverse.- Parameters:
listenerFlags- Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER- Since:
- Java 3D 1.3
-
ViewPlatformAWTBehavior
public ViewPlatformAWTBehavior(Canvas3D c, int listenerFlags)
Constructs a new ViewPlatformAWTBehavior.- Parameters:
c- The Canvas3D on which to listen for events. If this is null a NullPointerException will be thrown.listenerFlags- Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER
-
-
Method Detail
-
setListenerFlags
protected void setListenerFlags(int listenerFlags)
Sets listener flags for this behavior.- Parameters:
listenerFlags- Indicates which listener should be registered, one or more of MOUSE_LISTENER, MOUSE_MOTION_LISTENER, KEY_LISTENER, MOUSE_WHEEL_LISTENER- Since:
- Java 3D 1.3
-
initialize
public void initialize()
Initializes the behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.- Specified by:
initializein classBehavior
-
processStimulus
public void processStimulus(java.util.Enumeration behEnum)
Process a stimulus meant for this behavior. NOTE: Applications should not call this method. It is called by the Java 3D behavior scheduler.- Specified by:
processStimulusin classBehavior- Parameters:
behEnum- an enumeration of triggered wakeup criteria for this behavior
-
setEnable
public void setEnable(boolean state)
Overload setEnable from Behavior. Adds/Removes the AWT listeners depending on the requested state.
-
setViewingPlatform
public void setViewingPlatform(ViewingPlatform vp)
Sets the ViewingPlatform for this behavior. This method is called by the ViewingPlatform. If a sub-calls overrides this method, it must call super.setViewingPlatform(vp). NOTE: Applications should not call this method.- Overrides:
setViewingPlatformin classViewPlatformBehavior- Parameters:
vp- the target ViewingPlatform for this behavior
-
processAWTEvents
protected abstract void processAWTEvents(java.awt.AWTEvent[] events)
This is called once per frame if there are any AWT events to process. Themotionvariable will be true when the method is called. If it is true when the method returns integrateTransforms will be called immediately. The AWTEvents are presented in the array in the order in which they arrived from AWT.
-
integrateTransforms
protected abstract void integrateTransforms()
Called once per frame (if the view is moving) to calculate the new view platform transform
-
queueAWTEvent
protected void queueAWTEvent(java.awt.AWTEvent e)
Queue AWTEvents in a thread safe manner. If subclasses override this method they must call super.queueAWTEvent(e)
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)
- Specified by:
keyReleasedin interfacejava.awt.event.KeyListener
-
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)
- Specified by:
keyPressedin interfacejava.awt.event.KeyListener
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)
- Specified by:
keyTypedin interfacejava.awt.event.KeyListener
-
mouseWheelMoved
public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
- Specified by:
mouseWheelMovedin interfacejava.awt.event.MouseWheelListener
-
-