m3g12
Class MorphingSample

java.lang.Object
  extended by javax.microedition.lcdui.Displayable
      extended by javax.microedition.lcdui.Canvas
          extended by javax.microedition.lcdui.game.GameCanvas
              extended by m3g12.MorphingSample
All Implemented Interfaces:
java.lang.Runnable, Sample

public class MorphingSample
extends javax.microedition.lcdui.game.GameCanvas
implements Sample, java.lang.Runnable

Defines an animation that blends mesh shapes into each other by using morphing.

Author:
Claus Hoefele

Field Summary
private  javax.microedition.lcdui.Graphics graphics
          2D graphics singleton used for rendering.
private  javax.microedition.m3g.Graphics3D graphics3d
          3D graphics singleton used for rendering.
private  boolean isRunning
          Flag whether thread is running.
private  javax.microedition.m3g.MorphingMesh morphingMesh
          Mesh for display.
 
Fields inherited from class javax.microedition.lcdui.game.GameCanvas
DOWN_PRESSED, FIRE_PRESSED, GAME_A_PRESSED, GAME_B_PRESSED, GAME_C_PRESSED, GAME_D_PRESSED, LEFT_PRESSED, RIGHT_PRESSED, UP_PRESSED
 
Fields inherited from class javax.microedition.lcdui.Canvas
DOWN, FIRE, GAME_A, GAME_B, GAME_C, GAME_D, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_POUND, KEY_STAR, LEFT, RIGHT, UP
 
Constructor Summary
MorphingSample()
          Constructor.
 
Method Summary
private  void createAnimation(javax.microedition.m3g.MorphingMesh mesh)
          Creates a new animation that morphs the MorphingMesh's base and target meshes.
private  javax.microedition.m3g.MorphingMesh createMorphingMesh()
          Creates a new MorphingMesh that has a quad as the base mesh and two triangles as morph targets.
 void destroy()
          Destroys the sample.
private  void drawMenu(javax.microedition.lcdui.Graphics graphics)
          Draws a menu for the current key assignments.
 void init()
          Initializes the sample.
private  void render(javax.microedition.lcdui.Graphics graphics)
          Renders the sample.
private  void reset()
          Initializes the sample.
 void run()
          Animation loop.
 
Methods inherited from class javax.microedition.lcdui.game.GameCanvas
flushGraphics, flushGraphics, getGraphics, getKeyStates, paint
 
Methods inherited from class javax.microedition.lcdui.Canvas
getGameAction, getKeyCode, getKeyName, hasPointerEvents, hasPointerMotionEvents, hasRepeatEvents, hideNotify, isDoubleBuffered, keyPressed, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased, repaint, repaint, serviceRepaints, setCommandListener, setFullScreenMode, showNotify, sizeChanged
 
Methods inherited from class javax.microedition.lcdui.Displayable
addCommand, getHeight, getTicker, getTitle, getWidth, isShown, removeCommand, setTicker, setTitle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

morphingMesh

private javax.microedition.m3g.MorphingMesh morphingMesh
Mesh for display.


isRunning

private boolean isRunning
Flag whether thread is running.


graphics3d

private javax.microedition.m3g.Graphics3D graphics3d
3D graphics singleton used for rendering.


graphics

private javax.microedition.lcdui.Graphics graphics
2D graphics singleton used for rendering.

Constructor Detail

MorphingSample

public MorphingSample()
Constructor.

Method Detail

init

public void init()
Initializes the sample.

Specified by:
init in interface Sample

reset

private void reset()
Initializes the sample.


createMorphingMesh

private javax.microedition.m3g.MorphingMesh createMorphingMesh()
Creates a new MorphingMesh that has a quad as the base mesh and two triangles as morph targets.

Returns:
new MorphingMesh.

createAnimation

private void createAnimation(javax.microedition.m3g.MorphingMesh mesh)
Creates a new animation that morphs the MorphingMesh's base and target meshes.

Parameters:
mesh - mesh for animation.

destroy

public void destroy()
Destroys the sample.

Specified by:
destroy in interface Sample

run

public void run()
Animation loop.

Specified by:
run in interface java.lang.Runnable

render

private void render(javax.microedition.lcdui.Graphics graphics)
Renders the sample.

Parameters:
graphics - graphics context for drawing.

drawMenu

private void drawMenu(javax.microedition.lcdui.Graphics graphics)
Draws a menu for the current key assignments.

Parameters:
graphics - graphics context for drawing.