com.jmex.awt.applet
Class BaseSimpleApplet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Panel
              extended by java.applet.Applet
                  extended by com.jmex.awt.applet.BaseApplet
                      extended by com.jmex.awt.applet.BaseSimpleApplet
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
SimpleApplet, SimplePassApplet

public abstract class BaseSimpleApplet
extends BaseApplet

see BaseSimpleGame

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.applet.Applet
java.applet.Applet.AccessibleApplet
 
Nested classes/interfaces inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  Camera cam
          The camera that we see through.
protected  Node graphNode
          The root node for our stats graphs.
protected  InputHandler input
          Handles our mouse/keyboard input.
protected  LightState lightState
          A lightstate to turn on and off for the rootNode
protected  boolean pause
          boolean for toggling the simpleUpdate and geometric update parts of the game loop on and off.
protected  Node rootNode
          The root of our normal scene graph.
protected  boolean showBounds
          True if the renderer should display bounds.
protected  boolean showDepth
          True if the renderer should display the depth buffer.
protected  boolean showGraphs
          True if the we should show the stats graphs.
protected  boolean showNormals
          True if the renderer should display normals.
protected  Node statNode
          The root node for our stats and text.
protected  Timer timer
          High resolution timer for jME.
protected  float tpf
          Simply an easy way to get at timer.getTimePerFrame().
protected  WireframeState wireState
          A wirestate to turn on and off for the rootNode
 
Fields inherited from class com.jmex.awt.applet.BaseApplet
alphaBits, bpp, depthBits, display, displayParent, finished, gameThread, samples, stencilBits, throwableHandler
 
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
BaseSimpleApplet()
           
 
Method Summary
protected  void cameraParallel()
           
protected  void cameraPerspective()
           
protected  void cleanup()
          Cleans up the keyboard.
protected  void doDebug(Renderer r)
           
protected  void initGame()
          Creates rootNode, lighting, statistic text, and other basic render states.
protected  void initSystem()
          Creates display, sets up camera, and binds keys.
protected  void quit()
          Destroys the display, removes the rendering canvas from the applet
protected  void reinit()
          unused
protected  void render(float interpolation)
          Clears stats, the buffers and renders bounds and normals if on.
protected  void setupStatGraphs()
          Set up the graphers we will use and the quads we'll show the stats on.
protected  void setupStats()
          Set up which stats to graph
protected abstract  void simpleInitGame()
          Called near end of initGame().
protected  void simpleRender()
          Can be defined in derived classes for custom rendering.
protected  void simpleUpdate()
          Can be defined in derived classes for custom updating.
protected  void update(float interpolation)
          Updates the timer, sets tpf, updates the input and updates the fps string.
protected  void updateInput()
          Check for key/mouse updates.
 
Methods inherited from class com.jmex.awt.applet.BaseApplet
assertDisplayCreated, destroy, finish, gameLoop, getThrowableHandler, getVersion, init, setThrowableHandler, start, togglefullscreen
 
Methods inherited from class java.applet.Applet
getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, 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, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, 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, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, setMaximumSize, setMinimumSize, setName, setPreferredSize, 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
 

Field Detail

cam

protected Camera cam
The camera that we see through.


rootNode

protected Node rootNode
The root of our normal scene graph.


input

protected InputHandler input
Handles our mouse/keyboard input.


timer

protected Timer timer
High resolution timer for jME.


statNode

protected Node statNode
The root node for our stats and text.


graphNode

protected Node graphNode
The root node for our stats graphs.


tpf

protected float tpf
Simply an easy way to get at timer.getTimePerFrame(). Also saves math cycles since you don't call getTimePerFrame more than once per frame.


showDepth

protected boolean showDepth
True if the renderer should display the depth buffer.


showBounds

protected boolean showBounds
True if the renderer should display bounds.


showNormals

protected boolean showNormals
True if the renderer should display normals.


showGraphs

protected boolean showGraphs
True if the we should show the stats graphs.


wireState

protected WireframeState wireState
A wirestate to turn on and off for the rootNode


lightState

protected LightState lightState
A lightstate to turn on and off for the rootNode


pause

protected boolean pause
boolean for toggling the simpleUpdate and geometric update parts of the game loop on and off.

Constructor Detail

BaseSimpleApplet

public BaseSimpleApplet()
Method Detail

update

protected void update(float interpolation)
Updates the timer, sets tpf, updates the input and updates the fps string. Also checks keys for toggling pause, bounds, normals, lights, wire etc.

Specified by:
update in class BaseApplet
Parameters:
interpolation - unused in this implementation
See Also:
AbstractGame.update(float interpolation)

updateInput

protected void updateInput()
Check for key/mouse updates. Allow overriding this method to skip update in subclasses.


render

protected void render(float interpolation)
Clears stats, the buffers and renders bounds and normals if on.

Specified by:
render in class BaseApplet
Parameters:
interpolation - unused in this implementation
See Also:
AbstractGame.render(float interpolation)

doDebug

protected void doDebug(Renderer r)

initSystem

protected void initSystem()
                   throws JmeException
Creates display, sets up camera, and binds keys. Called in BaseGame.start() directly after the dialog box.

Specified by:
initSystem in class BaseApplet
Throws:
JmeException
See Also:
AbstractGame.initSystem()

cameraPerspective

protected void cameraPerspective()

cameraParallel

protected void cameraParallel()

initGame

protected void initGame()
Creates rootNode, lighting, statistic text, and other basic render states. Called in BaseGame.start() after initSystem().

Specified by:
initGame in class BaseApplet
See Also:
AbstractGame.initGame()

simpleInitGame

protected abstract void simpleInitGame()
Called near end of initGame(). Must be defined by derived classes.


simpleUpdate

protected void simpleUpdate()
Can be defined in derived classes for custom updating. Called every frame in update.


simpleRender

protected void simpleRender()
Can be defined in derived classes for custom rendering. Called every frame in render.


reinit

protected void reinit()
unused

Specified by:
reinit in class BaseApplet
See Also:
AbstractGame.reinit()

cleanup

protected void cleanup()
Cleans up the keyboard.

Specified by:
cleanup in class BaseApplet
See Also:
AbstractGame.cleanup()

quit

protected void quit()
Destroys the display, removes the rendering canvas from the applet


setupStats

protected void setupStats()
Set up which stats to graph


setupStatGraphs

protected void setupStatGraphs()
Set up the graphers we will use and the quads we'll show the stats on.