org.selman.java3d.book.mousenavigatetest
Class MouseNavigateTest

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--java.applet.Applet
                          |
                          +--org.selman.java3d.book.common.Java3dApplet
                                |
                                +--org.selman.java3d.book.mousenavigatetest.MouseNavigateTest
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, RotationChangeListener, ScaleChangeListener, java.io.Serializable, TornadoChangeListener, TranslationChangeListener

public class MouseNavigateTest
extends Java3dApplet
implements ScaleChangeListener, RotationChangeListener, TranslationChangeListener

This example illustrates the mouse behaviors defined in the org.selman.java3d.book package. These improved mouse behaviors: - handle TransformGroups above the target TG properly
- can be applied to any object, not just TGs
- support interface reporting to give easy feedback on all manipulations
- better motion speed control
- range validation to clamp scales and translation between limits

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.selman.java3d.book.common.Java3dApplet
m_ApplicationBounds, m_Java3dTree, m_kHeight, m_kWidth, m_SceneBranchGroup, m_szCommandLineArray, m_Universe
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MouseNavigateTest()
           
 
Method Summary
protected  void addCanvas3D(javax.media.j3d.Canvas3D c3d)
           
protected  javax.media.j3d.Background createBackground()
           
protected  javax.media.j3d.BranchGroup createSceneBranchGroup()
           
protected  double getScale()
           
static void main(java.lang.String[] args)
           
 void onAdjustTransform(java.lang.Object target, int xpos, int ypos)
          Notification that a new Transform is being calculated
 void onApplyTransform(java.lang.Object target)
          Notification that the Transform is being updated
 void onEndDrag(java.lang.Object target)
          Callback to notify of an end drag event.
 void onRotate(java.lang.Object target, javax.vecmath.Point3d point3d)
          Callback to notify of new translationg being applied.
 void onScale(java.lang.Object target, javax.vecmath.Vector3d scale)
          Callback to notify of new scale being applied.
 void onStartDrag(java.lang.Object target)
          Callback to notify of a start drag event.
 void onTranslate(java.lang.Object target, javax.vecmath.Vector3d vTranslation)
          Callback to notify of new translationg being applied.
 
Methods inherited from class org.selman.java3d.book.common.Java3dApplet
addViewBranchGroup, createApplicationBounds, createAudioDevice, createCanvas3D, createLocale, createPhysicalBody, createPhysicalEnvironment, createView, createViewBranchGroup, createViewPlatform, createVirtualUniverse, getApplicationBounds, getBackClipDistance, getCanvas3dHeight, getCanvas3dWidth, getCommandLineArguments, getFirstLocale, getFrontClipDistance, getJ3dTree, getViewPlatformActivationRadius, getViewTransformGroupArray, getVirtualUniverse, getWorkingDirectory, initJava3d, isApplet, onDoneInit, saveCommandLineArguments
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MouseNavigateTest

public MouseNavigateTest()
Method Detail

addCanvas3D

protected void addCanvas3D(javax.media.j3d.Canvas3D c3d)
Overrides:
addCanvas3D in class Java3dApplet

getScale

protected double getScale()
Overrides:
getScale in class Java3dApplet

onStartDrag

public void onStartDrag(java.lang.Object target)
Description copied from interface: TornadoChangeListener
Callback to notify of a start drag event.

Specified by:
onStartDrag in interface TornadoChangeListener
Parameters:
target - the Object being manipulated

onEndDrag

public void onEndDrag(java.lang.Object target)
Description copied from interface: TornadoChangeListener
Callback to notify of an end drag event.

Specified by:
onEndDrag in interface TornadoChangeListener
Parameters:
target - the Object being manipulated

onApplyTransform

public void onApplyTransform(java.lang.Object target)
Description copied from interface: TornadoChangeListener
Notification that the Transform is being updated

Specified by:
onApplyTransform in interface TornadoChangeListener
Parameters:
target - the Object being manipulated

onAdjustTransform

public void onAdjustTransform(java.lang.Object target,
                              int xpos,
                              int ypos)
Description copied from interface: TornadoChangeListener
Notification that a new Transform is being calculated

Specified by:
onAdjustTransform in interface TornadoChangeListener
Parameters:
target - the Object being manipulated
xpos - the mouse x position
ypos - the mouse y position

onRotate

public void onRotate(java.lang.Object target,
                     javax.vecmath.Point3d point3d)
Description copied from interface: RotationChangeListener
Callback to notify of new translationg being applied.

Specified by:
onRotate in interface RotationChangeListener
Parameters:
target - the Object being manipulated
point3d - the new rotation (Euler, radians) applied

onScale

public void onScale(java.lang.Object target,
                    javax.vecmath.Vector3d scale)
Description copied from interface: ScaleChangeListener
Callback to notify of new scale being applied.

Specified by:
onScale in interface ScaleChangeListener
Parameters:
target - the Object being manipulated
scale - the new scale being applied

onTranslate

public void onTranslate(java.lang.Object target,
                        javax.vecmath.Vector3d vTranslation)
Description copied from interface: TranslationChangeListener
Callback to notify of new translationg being applied.

Specified by:
onTranslate in interface TranslationChangeListener
Parameters:
target - the Object being manipulated
vTranslation - the new translation being applied

createBackground

protected javax.media.j3d.Background createBackground()
Overrides:
createBackground in class Java3dApplet

createSceneBranchGroup

protected javax.media.j3d.BranchGroup createSceneBranchGroup()
Overrides:
createSceneBranchGroup in class Java3dApplet

main

public static void main(java.lang.String[] args)