anl.aida.viz3d
Class Canvas3D

java.lang.Object
  extended by anl.aida.viz3d.Canvas3D
All Implemented Interfaces:
java.util.EventListener, javax.media.opengl.GLEventListener

public class Canvas3D
extends java.lang.Object
implements javax.media.opengl.GLEventListener


Nested Class Summary
private static class Canvas3D.Mode
           
 
Field Summary
private  java.awt.Color background
           
private  javax.swing.JToolBar bar
           
private  javax.media.opengl.GLAutoDrawable drawable
           
private  javax.media.opengl.glu.GLU glu
           
private  InfoDragger infoDragger
           
private  boolean initialized
           
private  java.util.List<CanvasListener> listeners
           
private  Canvas3D.Mode mode
           
private static java.lang.String PAN_ICON
           
private  javax.swing.JPanel panel
           
private  VNode root
           
private  MouseRotate rotator
           
private static java.lang.String SELECT_ICON
           
private  NodeSelector selector
           
private  MouseTranslate translator
           
private  javax.vecmath.Point3f viewLocation
           
private  MouseWheelZoom wheelZoomer
           
private  Box worldSizeAtZero
           
private  MouseZoom zoomer
           
 
Constructor Summary
Canvas3D(Cache cache)
           
 
Method Summary
 void addCanvasListener(CanvasListener listener)
          Adds the specified canvas listener to this canvas.
 void addSelection(java.lang.Object obj)
          Adds the selected item.
 void clearSelections()
          Clears the selected items.
private  javax.swing.JToggleButton createButton(Canvas3D.Mode mode)
           
private  void createToolBar()
           
 void display()
           
 void display(javax.media.opengl.GLAutoDrawable drawable)
           
 void displayChanged(javax.media.opengl.GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged)
           
 NodeSelector getNodeSelector()
           
 javax.swing.JPanel getPanel()
           
 javax.swing.JToolBar getToolBar()
           
 Box getWorldSizeAtZero()
          Gets a Box representing the dimensions of the viewable world when z is 0.
 void init(javax.media.opengl.GLAutoDrawable drawable)
           
 void resetSelection()
           
 void reshape(javax.media.opengl.GLAutoDrawable drawable, int x, int y, int width, int height)
           
private  void setMode(Canvas3D.Mode mode)
           
 void vSpatialMoved(VSpatial spatial, javax.vecmath.Point3f localTrans)
          Called when a VSpatial has been moved using the mouse.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAN_ICON

private static final java.lang.String PAN_ICON
See Also:
Constant Field Values

SELECT_ICON

private static final java.lang.String SELECT_ICON
See Also:
Constant Field Values

mode

private Canvas3D.Mode mode

drawable

private javax.media.opengl.GLAutoDrawable drawable

panel

private javax.swing.JPanel panel

glu

private javax.media.opengl.glu.GLU glu

rotator

private MouseRotate rotator

translator

private MouseTranslate translator

wheelZoomer

private MouseWheelZoom wheelZoomer

zoomer

private MouseZoom zoomer

background

private java.awt.Color background

selector

private NodeSelector selector

infoDragger

private InfoDragger infoDragger

viewLocation

private javax.vecmath.Point3f viewLocation

listeners

private java.util.List<CanvasListener> listeners

worldSizeAtZero

private Box worldSizeAtZero

root

private VNode root

initialized

private boolean initialized

bar

private javax.swing.JToolBar bar
Constructor Detail

Canvas3D

public Canvas3D(Cache cache)
Method Detail

getNodeSelector

public NodeSelector getNodeSelector()

display

public void display()

vSpatialMoved

public void vSpatialMoved(VSpatial spatial,
                          javax.vecmath.Point3f localTrans)
Called when a VSpatial has been moved using the mouse.

Parameters:
spatial - the spatial that has been moved
localTrans - the new local translation of the spatial

addCanvasListener

public void addCanvasListener(CanvasListener listener)
Adds the specified canvas listener to this canvas.

Parameters:
listener - the listener to add

clearSelections

public void clearSelections()
Clears the selected items.


resetSelection

public void resetSelection()

addSelection

public void addSelection(java.lang.Object obj)
Adds the selected item.

Parameters:
obj - the selected item

createToolBar

private void createToolBar()

createButton

private javax.swing.JToggleButton createButton(Canvas3D.Mode mode)

setMode

private void setMode(Canvas3D.Mode mode)

getToolBar

public javax.swing.JToolBar getToolBar()

getPanel

public javax.swing.JPanel getPanel()

init

public void init(javax.media.opengl.GLAutoDrawable drawable)
Specified by:
init in interface javax.media.opengl.GLEventListener

display

public void display(javax.media.opengl.GLAutoDrawable drawable)
Specified by:
display in interface javax.media.opengl.GLEventListener

displayChanged

public void displayChanged(javax.media.opengl.GLAutoDrawable drawable,
                           boolean modeChanged,
                           boolean deviceChanged)
Specified by:
displayChanged in interface javax.media.opengl.GLEventListener

getWorldSizeAtZero

public Box getWorldSizeAtZero()
Gets a Box representing the dimensions of the viewable world when z is 0.

Returns:
a Box representing the dimensions of the viewable world when z is 0.

reshape

public void reshape(javax.media.opengl.GLAutoDrawable drawable,
                    int x,
                    int y,
                    int width,
                    int height)
Specified by:
reshape in interface javax.media.opengl.GLEventListener