m3g05
Class ViewTransformationsSample

java.lang.Object
  extended by javax.microedition.lcdui.Displayable
      extended by javax.microedition.lcdui.Canvas
          extended by javax.microedition.lcdui.game.GameCanvas
              extended by m3g05.ViewTransformationsSample
All Implemented Interfaces:
Sample

public class ViewTransformationsSample
extends javax.microedition.lcdui.game.GameCanvas
implements Sample

Demonstrates switching between portrait and landscape rendering by changing the camera transformation.

Author:
Claus Hoefele

Field Summary
private  javax.microedition.m3g.Camera camera
          Camera.
private  javax.microedition.m3g.Transform cameraTransform
          The camera's transformation.
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  javax.microedition.m3g.Mesh mesh
          Mesh for display.
private  javax.microedition.m3g.Transform meshTransform
          The mesh's transformation.
private  boolean orientationPortrait
          True indicates portrait orientation, false landscape.
private  float rotY
          Current rotation value.
 
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
ViewTransformationsSample()
          Constructor.
 
Method Summary
 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.
protected  void keyPressed(int keyCode)
          Handles key presses.
private  void render(javax.microedition.lcdui.Graphics graphics)
          Renders the sample.
private  void setCamera()
          Sets the camera in the Graphics3D context and initializes it with the current orientation and transformation parameters.
 
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, 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

orientationPortrait

private boolean orientationPortrait
True indicates portrait orientation, false landscape.


mesh

private javax.microedition.m3g.Mesh mesh
Mesh for display.


meshTransform

private javax.microedition.m3g.Transform meshTransform
The mesh's transformation.


camera

private javax.microedition.m3g.Camera camera
Camera.


cameraTransform

private javax.microedition.m3g.Transform cameraTransform
The camera's transformation.


rotY

private float rotY
Current rotation value.


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

ViewTransformationsSample

public ViewTransformationsSample()
Constructor.

Method Detail

init

public void init()
Initializes the sample.

Specified by:
init in interface Sample

setCamera

private void setCamera()
Sets the camera in the Graphics3D context and initializes it with the current orientation and transformation parameters.


destroy

public void destroy()
Destroys the sample.

Specified by:
destroy in interface Sample

render

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

Parameters:
graphics - graphics context for rendering.

keyPressed

protected void keyPressed(int keyCode)
Handles key presses.

Overrides:
keyPressed in class javax.microedition.lcdui.Canvas
Parameters:
keyCode - key code.

drawMenu

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

Parameters:
graphics - graphics context for drawing.