render.jogl
Class RenderPanelGL

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Panel
              extended byrender.jogl.RenderPanelGL
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, net.java.games.jogl.GLEventListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, RenderablePanel, java.io.Serializable

public class RenderPanelGL
extends java.awt.Panel
implements net.java.games.jogl.GLEventListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.event.KeyListener, RenderablePanel

Author:
Du Nguyen
See Also:
Serialized Form

Field Summary
 boolean enableLod
          Enables level of detail computation for meshes.
 Menus menus
           
 double phi
          Euler angle for camera positioning (vertical view rotation).
 Renderer renderer
          Renderer object
 boolean showFPS
          Flag that determines whether to display current frame rate.
 double theta
          Euler angle for camera positioning (horizontal view rotation).
 Geometry world
          root of the scene Geometry
 
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
RenderPanelGL(Renderable r)
           
 
Method Summary
 void addKeyListener(java.awt.event.KeyListener l)
           
 void addLight(double x, double y, double z, double r, double g, double b)
          Adds light source with direction (x, y, z) & color (r, g, b).
 Widget addMenu(java.lang.String label, int x, int y)
          adds a menu widget
 void addMenu(Widget menu)
          adds a menu
 void addMouseListener(java.awt.event.MouseListener l)
           
 void addMouseMotionListener(java.awt.event.MouseMotionListener l)
           
 void addMouseWheelListener(java.awt.event.MouseWheelListener l)
           
 void addNotify()
           
 void animate(double time)
          Override this to animate.
 void damage()
          Forces a refresh of the renderer.
 void display(net.java.games.jogl.GLDrawable drawable)
           
 void displayChanged(net.java.games.jogl.GLDrawable drawable, boolean modeChanged, boolean deviceChanged)
           
 net.java.games.jogl.Animator getAnimator()
           
 double getCurrentTime()
          returns the current system time in seconds
 net.java.games.jogl.GLDrawable getDrawable()
           
 double getFL()
          focal length
 double getFOV()
          field of view
 Geometry getGeometry(int x, int y)
          Returns the Geometry of the frontmost object at the point (x, y) in the image (like a z-buffer value of geometries).
 boolean getGeometryBuffer()
          status of the geometry z-buffer, for object picking
 int getLod()
          level of detail
 Matrix[] getMatrix()
          the matrix stack
 boolean getOutline()
          get status of flag which produces the sketch-line drawing rendition of the scene
 int[] getPix()
          the pixel array
 boolean getPoint(int x, int y, double[] xyz)
          Returns the location in world space of the point (x, y) on the screen.
 Renderable getRenderable()
          (@link Renderable} Renderable
 Renderer getRenderer()
          Rendererobject
 double getStartTime()
           
 boolean getTableMode()
          flag that determines whether the normal tables should beprecomputed
 Geometry getWorld()
          the root world geometry
 Geometry getWorldGeometry()
           
 void identity()
          Sets current matrix to the identity matrix.
 void init()
          Initializes the renderer and internal variables; to initialize your model see Renderable.initialize()
 void init(net.java.games.jogl.GLDrawable drawable)
           
 void init(int W, int H)
          Initializes the applet and internal variables.
 void initialize()
          Override this to initialize the application program.
 boolean isDragging()
          Returns whether dragging is active or not.
 void keyEvent()
           
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyPressed(java.awt.event.KeyEvent e, int key)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e, int key)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e, int key)
           
 Matrix m()
          Returns the matrix at the top of the stack.
 Widget menu(int i)
          returns the menu at index i
 void mouseClicked(java.awt.Event e, int x, int y)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseDragged(java.awt.Event e, int x, int y)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseEntered(java.awt.Event e, int x, int y)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseEvent()
           
 void mouseExited(java.awt.Event e, int x, int y)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseMoved(java.awt.Event e, int x, int y)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e, int x, int y)
           
 void mousePressed(java.awt.Event e, int x, int y)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseReleased(java.awt.Event e, int x, int y)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e, int x, int y)
           
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
           
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e, int r)
           
 void pause()
          prevents the renderer from redrawing the scene.
 void pop()
          Pops the top matrix from the stack.
 boolean processCommand(int key)
          Handles commands received (generally for unicode commands from the KeyListener, but also for commands from any other sources, like buttons from webpages) : various default control keys to modify render style (Use CTRL + key).
 int pull(Geometry s, double x0, double x1, double x2, double y0, double y1, double y2, double z0, double z1, double z2)
          Deforms a geometric shape according to the beginning, middle, and end parameters in each dimension.
 void push()
          Pushes a copy of the top matrix onto the stack.
 void recalculateSize(int width, int height)
          called upon a resize of the component
 void refresh()
          Forces a refresh of the renderer.
 void removeKeyListener(java.awt.event.KeyListener l)
           
 void removeMenu(Widget menu)
          removes a particular menu
 void removeMouseListener(java.awt.event.MouseListener l)
           
 void removeMouseMotionListener(java.awt.event.MouseMotionListener l)
           
 void removeMouseWheelListener(java.awt.event.MouseWheelListener l)
           
 void reshape(net.java.games.jogl.GLDrawable drawable, int x, int y, int width, int height)
           
 void rotateView(double theta, double phi)
          Rotate angle of view.
 void rotateX(double t)
          Rotates the top matrix around the X axis by angle t (radians).
 void rotateY(double t)
          Rotates the top matrix around the Y axis by angle t (radians).
 void rotateZ(double t)
          Rotates the top matrix around the Z axis by angle t (radians).
 void scale(double x, double y, double z)
          Scales the top matrix by x, y, z in their respective dimensions.
 void setBgColor(double r, double g, double b)
          Sets the background color ( RGB values range: 0..1).
 void setDragging(boolean value)
          If the user is interactively dragging the mouse, we want the renderer to know about it, so that any other background process (eg: a material which is building a lookup table) can ask the renderer, and thereby avoid consuming scarce CPU resources simultaneously.
 void setFL(double value)
          Sets the camera's focal length.
 void setFOV(double value)
          Sets the field of view value.
 void setGeometryBuffer(boolean value)
          enables/disables the geometry z-buffer, for object picking
 void setLod(int value)
          set the level of detail
 void setOutline(boolean value)
          toggle outline mode
 void setRenderable(Renderable renderable)
          set the renderable object
 void setTableMode(boolean value)
          toggle table lookup mode and precomputation
 void showMesh(boolean value)
          toggle the wireframe view of the world
 void start()
          starts the renderer thread
 void transform(Geometry s)
          Applies the top transformation matrix to Geometry s.
 void translate(double[] v)
          Translates the top matrix by vector v.
 void translate(double x, double y, double z)
          Translates the top matrix by x, y, z.
 Widget widgetAt(int x, int y)
          returns the widget at x, y
 
Methods inherited from class java.awt.Panel
getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, preferredSize, print, printComponents, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface render.RenderablePanel
createImage, createImage, getHeight, getWidth, repaint
 

Field Detail

renderer

public Renderer renderer
Renderer object


world

public Geometry world
root of the scene Geometry


showFPS

public boolean showFPS
Flag that determines whether to display current frame rate.


enableLod

public boolean enableLod
Enables level of detail computation for meshes.


theta

public double theta
Euler angle for camera positioning (horizontal view rotation).


phi

public double phi
Euler angle for camera positioning (vertical view rotation).


menus

public Menus menus
Constructor Detail

RenderPanelGL

public RenderPanelGL(Renderable r)
Method Detail

setRenderable

public void setRenderable(Renderable renderable)
Description copied from interface: RenderablePanel
set the renderable object

Specified by:
setRenderable in interface RenderablePanel
Parameters:
renderable -

getRenderable

public Renderable getRenderable()
Description copied from interface: RenderablePanel
(@link Renderable} Renderable

Specified by:
getRenderable in interface RenderablePanel
Returns:

getRenderer

public Renderer getRenderer()
Description copied from interface: RenderablePanel
Rendererobject

Specified by:
getRenderer in interface RenderablePanel

addNotify

public void addNotify()

start

public void start()
Description copied from interface: RenderablePanel
starts the renderer thread

Specified by:
start in interface RenderablePanel

init

public void init(net.java.games.jogl.GLDrawable drawable)
Specified by:
init in interface net.java.games.jogl.GLEventListener

display

public void display(net.java.games.jogl.GLDrawable drawable)
Specified by:
display in interface net.java.games.jogl.GLEventListener

reshape

public void reshape(net.java.games.jogl.GLDrawable drawable,
                    int x,
                    int y,
                    int width,
                    int height)
Specified by:
reshape in interface net.java.games.jogl.GLEventListener

displayChanged

public void displayChanged(net.java.games.jogl.GLDrawable drawable,
                           boolean modeChanged,
                           boolean deviceChanged)
Specified by:
displayChanged in interface net.java.games.jogl.GLEventListener

animate

public void animate(double time)
Override this to animate.

Parameters:
time - system time

pause

public void pause()
prevents the renderer from redrawing the scene.

Specified by:
pause in interface RenderablePanel

damage

public void damage()
Forces a refresh of the renderer. Sets isDamage true.


setFOV

public void setFOV(double value)
Sets the field of view value.

Specified by:
setFOV in interface RenderablePanel
Parameters:
value -
See Also:
Renderer.setFOV(double value)

getFOV

public double getFOV()
Description copied from interface: RenderablePanel
field of view

Specified by:
getFOV in interface RenderablePanel
Returns:

setFL

public void setFL(double value)
Sets the camera's focal length.

Specified by:
setFL in interface RenderablePanel
Parameters:
value - focal length
See Also:
Renderer.setFL(double value)

setBgColor

public void setBgColor(double r,
                       double g,
                       double b)
Sets the background color ( RGB values range: 0..1).

Specified by:
setBgColor in interface RenderablePanel
Parameters:
r - red component 0..1
g - green component 0..1
b - blue component 0..1

addLight

public void addLight(double x,
                     double y,
                     double z,
                     double r,
                     double g,
                     double b)
Adds light source with direction (x, y, z) & color (r, g, b).

Arguments x,y,z indicate light direction. Arguments r,g,b indicate light direction.

Specified by:
addLight in interface RenderablePanel
See Also:
Renderer.addLight(double x,double y,double z, double r,double g,double b)

identity

public void identity()
Sets current matrix to the identity matrix.

Specified by:
identity in interface RenderablePanel

m

public Matrix m()
Returns the matrix at the top of the stack.

Specified by:
m in interface RenderablePanel
Returns:
the top matrix on the stack

pop

public void pop()
Pops the top matrix from the stack.

Specified by:
pop in interface RenderablePanel

push

public void push()
Pushes a copy of the top matrix onto the stack.

Specified by:
push in interface RenderablePanel

rotateX

public void rotateX(double t)
Rotates the top matrix around the X axis by angle t (radians).

Specified by:
rotateX in interface RenderablePanel
Parameters:
t - angle in radians

rotateY

public void rotateY(double t)
Rotates the top matrix around the Y axis by angle t (radians).

Specified by:
rotateY in interface RenderablePanel
Parameters:
t - angle in radians

rotateZ

public void rotateZ(double t)
Rotates the top matrix around the Z axis by angle t (radians).

Specified by:
rotateZ in interface RenderablePanel
Parameters:
t - angle in radians

scale

public void scale(double x,
                  double y,
                  double z)
Scales the top matrix by x, y, z in their respective dimensions.

Specified by:
scale in interface RenderablePanel
Parameters:
x - x scale factor
y - y scale factor
z - z scale factor

transform

public void transform(Geometry s)
Applies the top transformation matrix to Geometry s.

Specified by:
transform in interface RenderablePanel
Parameters:
s - Geometry object

translate

public void translate(double[] v)
Translates the top matrix by vector v.

Specified by:
translate in interface RenderablePanel
Parameters:
v - an array of three doubles representing translations in the x,y,z directions.

translate

public void translate(double x,
                      double y,
                      double z)
Translates the top matrix by x, y, z.

Specified by:
translate in interface RenderablePanel
Parameters:
x - - translation in the x direction.
y - - translation in the y direction.
z - - translation in the z direction.

pull

public int pull(Geometry s,
                double x0,
                double x1,
                double x2,
                double y0,
                double y1,
                double y2,
                double z0,
                double z1,
                double z2)
Deforms a geometric shape according to the beginning, middle, and end parameters in each dimension. For each dimesion the three parameters indicate the amount of deformation at each position.

0 - beginning, 1 - middle, 2 - end. To indicate infinity (a constant transformation) set two adjacent parameters to the same value. Setting all three parameters to the same value transforms the shape geometry consistently across the entire axis of the parameters.

Specified by:
pull in interface RenderablePanel
Parameters:
s - shape object to be deformed
x0 - location of beginning of deformation along the x axis
x1 - location of beginning of deformation along the x axis
x2 - location of beginning of deformation along the x axis
y0 - location of beginning of deformation along the y axis
y1 - location of beginning of deformation along the y axis
y2 - location of beginning of deformation along the y axis
z0 - location of beginning of deformation along the z axis
z1 - location of beginning of deformation along the z axis
z2 - location of beginning of deformation along the z axis
Returns:
1 if pull operation was successful, 0 otherwise
See Also:
Geometry.pull(render.Matrix, double, double, double, double, double, double, double, double, double)

init

public void init(int W,
                 int H)
Initializes the applet and internal variables. To initialize components of the application program use initialize().

See Also:
initialize()

initialize

public void initialize()
Override this to initialize the application program.


getGeometry

public Geometry getGeometry(int x,
                            int y)
Returns the Geometry of the frontmost object at the point (x, y) in the image (like a z-buffer value of geometries).

Specified by:
getGeometry in interface RenderablePanel
Parameters:
x - x coordinate in the image
y - y coordinate in the image
Returns:
the geometry of the foremost object at that location

getCurrentTime

public double getCurrentTime()
Description copied from interface: RenderablePanel
returns the current system time in seconds

Specified by:
getCurrentTime in interface RenderablePanel
Returns:

addMouseListener

public void addMouseListener(java.awt.event.MouseListener l)
Specified by:
addMouseListener in interface RenderablePanel

removeMouseListener

public void removeMouseListener(java.awt.event.MouseListener l)
Specified by:
removeMouseListener in interface RenderablePanel

addMouseMotionListener

public void addMouseMotionListener(java.awt.event.MouseMotionListener l)
Specified by:
addMouseMotionListener in interface RenderablePanel

removeMouseMotionListener

public void removeMouseMotionListener(java.awt.event.MouseMotionListener l)
Specified by:
removeMouseMotionListener in interface RenderablePanel

addMouseWheelListener

public void addMouseWheelListener(java.awt.event.MouseWheelListener l)
Specified by:
addMouseWheelListener in interface RenderablePanel

removeMouseWheelListener

public void removeMouseWheelListener(java.awt.event.MouseWheelListener l)

addKeyListener

public void addKeyListener(java.awt.event.KeyListener l)
Specified by:
addKeyListener in interface RenderablePanel

removeKeyListener

public void removeKeyListener(java.awt.event.KeyListener l)
Specified by:
removeKeyListener in interface RenderablePanel

mouseEvent

public void mouseEvent()

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e,
                         int x,
                         int y)

mouseExited

public void mouseExited(java.awt.event.MouseEvent e,
                        int x,
                        int y)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e,
                         int x,
                         int y)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e,
                          int x,
                          int y)

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e,
                         int x,
                         int y)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e,
                         int x,
                         int y)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e,
                       int x,
                       int y)

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e,
                            int r)
Specified by:
mouseWheelMoved in interface RenderablePanel

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

mouseEntered

public void mouseEntered(java.awt.Event e,
                         int x,
                         int y)
Specified by:
mouseEntered in interface RenderablePanel

mouseExited

public void mouseExited(java.awt.Event e,
                        int x,
                        int y)
Specified by:
mouseExited in interface RenderablePanel

mousePressed

public void mousePressed(java.awt.Event e,
                         int x,
                         int y)
Specified by:
mousePressed in interface RenderablePanel

mouseReleased

public void mouseReleased(java.awt.Event e,
                          int x,
                          int y)
Specified by:
mouseReleased in interface RenderablePanel

mouseClicked

public void mouseClicked(java.awt.Event e,
                         int x,
                         int y)
Specified by:
mouseClicked in interface RenderablePanel

mouseDragged

public void mouseDragged(java.awt.Event e,
                         int x,
                         int y)
Specified by:
mouseDragged in interface RenderablePanel

mouseMoved

public void mouseMoved(java.awt.Event e,
                       int x,
                       int y)
Specified by:
mouseMoved in interface RenderablePanel

keyEvent

public void keyEvent()

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e,
                       int key)

keyReleased

public void keyReleased(java.awt.event.KeyEvent e,
                        int key)

keyTyped

public void keyTyped(java.awt.event.KeyEvent e,
                     int key)

getAnimator

public net.java.games.jogl.Animator getAnimator()

refresh

public void refresh()
Description copied from interface: RenderablePanel
Forces a refresh of the renderer. Sets isDamage true.

Specified by:
refresh in interface RenderablePanel

getWorld

public Geometry getWorld()
Description copied from interface: RenderablePanel
the root world geometry

Specified by:
getWorld in interface RenderablePanel
Returns:

getDrawable

public net.java.games.jogl.GLDrawable getDrawable()

rotateView

public void rotateView(double theta,
                       double phi)
Description copied from interface: RenderablePanel
Rotate angle of view.

Specified by:
rotateView in interface RenderablePanel
Parameters:
theta -
phi -

getLod

public int getLod()
Description copied from interface: RenderablePanel
level of detail

Specified by:
getLod in interface RenderablePanel
Returns:

setLod

public void setLod(int value)
Description copied from interface: RenderablePanel
set the level of detail

Specified by:
setLod in interface RenderablePanel
Parameters:
value -

recalculateSize

public void recalculateSize(int width,
                            int height)
Description copied from interface: RenderablePanel
called upon a resize of the component

Specified by:
recalculateSize in interface RenderablePanel
Parameters:
width -
height -

getGeometryBuffer

public boolean getGeometryBuffer()
Description copied from interface: RenderablePanel
status of the geometry z-buffer, for object picking

Specified by:
getGeometryBuffer in interface RenderablePanel
Returns:

setGeometryBuffer

public void setGeometryBuffer(boolean value)
Description copied from interface: RenderablePanel
enables/disables the geometry z-buffer, for object picking

Specified by:
setGeometryBuffer in interface RenderablePanel
Parameters:
value - on/off

getPoint

public boolean getPoint(int x,
                        int y,
                        double[] xyz)
Description copied from interface: RenderablePanel
Returns the location in world space of the point (x, y) on the screen.

Specified by:
getPoint in interface RenderablePanel
Parameters:
x - x coordinate in the image
y - y coordinate in the image
Returns:
true if there is an object at x, y , false otherwise

setDragging

public void setDragging(boolean value)
Description copied from interface: RenderablePanel
If the user is interactively dragging the mouse, we want the renderer to know about it, so that any other background process (eg: a material which is building a lookup table) can ask the renderer, and thereby avoid consuming scarce CPU resources simultaneously.

Specified by:
setDragging in interface RenderablePanel

isDragging

public boolean isDragging()
Description copied from interface: RenderablePanel
Returns whether dragging is active or not.

Specified by:
isDragging in interface RenderablePanel
Returns:
true when dragging is active, false otherwise

setTableMode

public void setTableMode(boolean value)
Description copied from interface: RenderablePanel
toggle table lookup mode and precomputation

Specified by:
setTableMode in interface RenderablePanel
Parameters:
value -

getTableMode

public boolean getTableMode()
Description copied from interface: RenderablePanel
flag that determines whether the normal tables should beprecomputed

Specified by:
getTableMode in interface RenderablePanel
Returns:

showMesh

public void showMesh(boolean value)
Description copied from interface: RenderablePanel
toggle the wireframe view of the world

Specified by:
showMesh in interface RenderablePanel
Parameters:
value -

setOutline

public void setOutline(boolean value)
Description copied from interface: RenderablePanel
toggle outline mode

Specified by:
setOutline in interface RenderablePanel
Parameters:
value -

getOutline

public boolean getOutline()
Description copied from interface: RenderablePanel
get status of flag which produces the sketch-line drawing rendition of the scene

Specified by:
getOutline in interface RenderablePanel
Returns:

init

public void init()
Description copied from interface: RenderablePanel
Initializes the renderer and internal variables; to initialize your model see Renderable.initialize()

Specified by:
init in interface RenderablePanel
See Also:
#Renderable.initialize()

getStartTime

public double getStartTime()
Returns:
Returns the startTime.

getWorldGeometry

public Geometry getWorldGeometry()
Returns:
root world Geometry

addMenu

public Widget addMenu(java.lang.String label,
                      int x,
                      int y)
Description copied from interface: RenderablePanel
adds a menu widget

Specified by:
addMenu in interface RenderablePanel
Parameters:
label -
x -
y -
Returns:

addMenu

public void addMenu(Widget menu)
Description copied from interface: RenderablePanel
adds a menu

Specified by:
addMenu in interface RenderablePanel
Parameters:
menu -
See Also:
RenderablePanel.addMenu(render.Widget)

getFL

public double getFL()
Description copied from interface: RenderablePanel
focal length

Specified by:
getFL in interface RenderablePanel
Returns:
See Also:
RenderablePanel.getFL()

getMatrix

public Matrix[] getMatrix()
Description copied from interface: RenderablePanel
the matrix stack

Specified by:
getMatrix in interface RenderablePanel
Returns:
See Also:
RenderablePanel.getMatrix()

getPix

public int[] getPix()
Description copied from interface: RenderablePanel
the pixel array

Specified by:
getPix in interface RenderablePanel
Returns:
See Also:
RenderablePanel.getPix()

menu

public Widget menu(int i)
Description copied from interface: RenderablePanel
returns the menu at index i

Specified by:
menu in interface RenderablePanel
Parameters:
i -
Returns:
See Also:
RenderablePanel.menu(int)

processCommand

public boolean processCommand(int key)
Description copied from interface: RenderablePanel
Handles commands received (generally for unicode commands from the KeyListener, but also for commands from any other sources, like buttons from webpages) : various default control keys to modify render style (Use CTRL + key).

'e' - toggles RenderablePanel.showMesh(boolean), that just displays the shapes as mesh wireframes
'l' - toggles RenderablePanel.getOutline() which produces a sketch-line drawing rendition of the scene
'm' - toggles #seeMesh which determines mesh visibility
't' - toggles global texture manipulation method (MIP on/off) (@link Texture#useMIP)

Specified by:
processCommand in interface RenderablePanel
Parameters:
key - value of the key released
Returns:
true if one of the above keys was just released, false otherwise.
See Also:
RenderablePanel.processCommand(int)

removeMenu

public void removeMenu(Widget menu)
Description copied from interface: RenderablePanel
removes a particular menu

Specified by:
removeMenu in interface RenderablePanel
Parameters:
menu -
See Also:
RenderablePanel.removeMenu(render.Widget)

widgetAt

public Widget widgetAt(int x,
                       int y)
Description copied from interface: RenderablePanel
returns the widget at x, y

Specified by:
widgetAt in interface RenderablePanel
Parameters:
x -
y -
Returns:
See Also:
RenderablePanel.widgetAt(int, int)