yaarq.sys
Class yrqCanvas

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--javax.media.j3d.Canvas3D
                    |
                    +--yaarq.sys.yrqCanvas
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class yrqCanvas
extends javax.media.j3d.Canvas3D

This class is a derivation of Java3Ds Canvas3D object. It overrides several rendering-related calls and pipes them to callback functions of the engine. Furthermore, it provides methods controlling the rendering process and a function which eases creation of an appropriate GraphicsConfiguration. The class is instantiated by the engine exactly once, during initalisation.

TODO: Provide support for varying color depths, Provide fading capability (fade-to-black?)

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
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 javax.media.j3d.Canvas3D
FIELD_ALL, FIELD_LEFT, FIELD_RIGHT
 
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
yrqCanvas(yrqEngine a_engine, java.awt.GraphicsConfiguration a_config)
           
yrqCanvas(yrqEngine a_engine, java.awt.GraphicsConfiguration a_config, boolean a_offscreen)
           
 
Method Summary
 boolean getActive()
          This function returns the active state of the canvas.
static javax.media.j3d.GraphicsConfigTemplate3D getConfigTemplate()
          This static function returns a graphic configuration template as desired by the yaarq engine.
 float getFade()
          This method gets the fade level for the canvas.
 javax.vecmath.Point3d getScreenToWorld(javax.vecmath.Point2d a_screen)
           
 javax.vecmath.Point2d getWorldToScreen(javax.vecmath.Point3d a_world)
           
 void postRender()
           
 void preRender()
           
 void setActive(boolean a_active)
           
 void setFade(float a_fade)
          This method sets the fade level for the canvas.
 
Methods inherited from class javax.media.j3d.Canvas3D
addNotify, getBounds, getBounds, getCenterEyeInImagePlate, getDoubleBufferAvailable, getDoubleBufferEnable, getGraphics2D, getGraphicsContext3D, getHeight, getImagePlateToVworld, getInverseVworldProjection, getLeftEyeInImagePlate, getLeftManualEyeInImagePlate, getLocation, getLocation, getLocationOnScreen, getMonoscopicViewPolicy, getOffScreenBuffer, getOffScreenLocation, getOffScreenLocation, getPhysicalHeight, getPhysicalWidth, getPixelLocationFromImagePlate, getPixelLocationInImagePlate, getPixelLocationInImagePlate, getRightEyeInImagePlate, getRightManualEyeInImagePlate, getSceneAntialiasingAvailable, getScreen3D, getSize, getSize, getStereoAvailable, getStereoEnable, getView, getVworldProjection, getVworldToImagePlate, getWidth, getX, getY, isOffScreen, isRendererRunning, paint, postSwap, queryProperties, removeNotify, renderField, renderOffScreenBuffer, setDoubleBufferEnable, setLeftManualEyeInImagePlate, setMonoscopicViewPolicy, setOffScreenBuffer, setOffScreenLocation, setOffScreenLocation, setRightManualEyeInImagePlate, setStereoEnable, startRenderer, stopRenderer, swap, waitForOffScreenRendering
 
Methods inherited from class java.awt.Canvas
createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, 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, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

yrqCanvas

public yrqCanvas(yrqEngine a_engine,
                 java.awt.GraphicsConfiguration a_config)

yrqCanvas

public yrqCanvas(yrqEngine a_engine,
                 java.awt.GraphicsConfiguration a_config,
                 boolean a_offscreen)
Method Detail

getActive

public boolean getActive()
This function returns the active state of the canvas. An inactive canvas does not show up in the parenting application, and no rendering is done for it.

Returns:
The active state of the canvas

getConfigTemplate

public static javax.media.j3d.GraphicsConfigTemplate3D getConfigTemplate()
This static function returns a graphic configuration template as desired by the yaarq engine. This configuration includes 24-bit color and a 16-bit depth buffer as well as a double-buffered display. The configuration returned by this function should always be used in constructing instances of this class.

Returns:
A GraphicsConfigTemplate3D matching the engines desired configuration

getFade

public float getFade()
This method gets the fade level for the canvas. Increasing this value from 0 (no fade) to 1 (full fade, black) allows fading of rendered frames.

Returns:
Level of fading

getScreenToWorld

public javax.vecmath.Point3d getScreenToWorld(javax.vecmath.Point2d a_screen)

getWorldToScreen

public javax.vecmath.Point2d getWorldToScreen(javax.vecmath.Point3d a_world)

postRender

public void postRender()
Overrides:
postRender in class javax.media.j3d.Canvas3D

preRender

public void preRender()
Overrides:
preRender in class javax.media.j3d.Canvas3D

setActive

public void setActive(boolean a_active)

setFade

public void setFade(float a_fade)
This method sets the fade level for the canvas. Increasing this value from 0 (no fade) to 1 (full fade, black) allows fading of rendered frames.

Parameters:
a_fade - Level of fading