org.selman.java3d.book.keynavigatetest
Class KeyNavigateTest

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.keynavigatetest.KeyNavigateTest
All Implemented Interfaces:
javax.accessibility.Accessible, CollisionDetector, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class KeyNavigateTest
extends Java3dApplet
implements CollisionDetector

Simple DOOM style navigation of a 3D scene using Java 3D. The scene description is loaded from a GIF file where different colors denote objects in the 3D scene. The example includes: simple (manual) collision detection, texture animation, keyboard navigation.

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
KeyNavigateTest()
           
 
Method Summary
 javax.media.j3d.Group createCeiling(javax.media.j3d.Group g)
           
 javax.media.j3d.Group createFloor(javax.media.j3d.Group g)
           
 javax.media.j3d.Group createMap(javax.media.j3d.Group g)
           
protected  javax.media.j3d.BranchGroup createSceneBranchGroup()
           
protected  double getBackClipDistance()
           
protected  int getCanvas3dHeight(javax.media.j3d.Canvas3D c3d)
           
protected  int getCanvas3dWidth(javax.media.j3d.Canvas3D c3d)
           
protected  double getFrontClipDistance()
           
protected  double getScale()
           
 javax.media.j3d.TransformGroup[] getViewTransformGroupArray()
           
 boolean isCollision(javax.media.j3d.Transform3D t3d, boolean bViewSide)
           
protected  boolean isCollision(javax.vecmath.Vector3d worldCoord)
           
static void main(java.lang.String[] args)
           
 
Methods inherited from class org.selman.java3d.book.common.Java3dApplet
addCanvas3D, addViewBranchGroup, createApplicationBounds, createAudioDevice, createBackground, createCanvas3D, createLocale, createPhysicalBody, createPhysicalEnvironment, createView, createViewBranchGroup, createViewPlatform, createVirtualUniverse, getApplicationBounds, getCommandLineArguments, getFirstLocale, getJ3dTree, getViewPlatformActivationRadius, 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

KeyNavigateTest

public KeyNavigateTest()
Method Detail

getScale

protected double getScale()
Overrides:
getScale in class Java3dApplet

getCanvas3dWidth

protected int getCanvas3dWidth(javax.media.j3d.Canvas3D c3d)
Overrides:
getCanvas3dWidth in class Java3dApplet

getCanvas3dHeight

protected int getCanvas3dHeight(javax.media.j3d.Canvas3D c3d)
Overrides:
getCanvas3dHeight in class Java3dApplet

getBackClipDistance

protected double getBackClipDistance()
Overrides:
getBackClipDistance in class Java3dApplet

getFrontClipDistance

protected double getFrontClipDistance()
Overrides:
getFrontClipDistance in class Java3dApplet

getViewTransformGroupArray

public javax.media.j3d.TransformGroup[] getViewTransformGroupArray()
Overrides:
getViewTransformGroupArray in class Java3dApplet

createSceneBranchGroup

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

createFloor

public javax.media.j3d.Group createFloor(javax.media.j3d.Group g)

createCeiling

public javax.media.j3d.Group createCeiling(javax.media.j3d.Group g)

isCollision

public boolean isCollision(javax.media.j3d.Transform3D t3d,
                           boolean bViewSide)
Specified by:
isCollision in interface CollisionDetector

isCollision

protected boolean isCollision(javax.vecmath.Vector3d worldCoord)

createMap

public javax.media.j3d.Group createMap(javax.media.j3d.Group g)

main

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