frams_client_3d
Class ViewGL

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byframs_client_3d.ViewGL
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ViewGL
extends javax.swing.JPanel

GLWindow class.

Author:
MoMaT
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  Camera camera
           
private  int creaturesCount
           
private  int displayList
           
private static float[] eye
           
private  int heighfield
           
private static Vector3D initialViewVector
           
private  boolean isLeftButtonPressed
           
private  boolean isMiddleButtonPressed
           
private  boolean isRightButtonPressed
           
private  int lastX
           
private  int lastY
           
private static float MOVE_SCALE
           
(package private)  jgl.GL myGL
           
(package private)  jgl.GLU myGLU
           
(package private)  jgl.GLUT myUT
           
private  boolean ready
           
private static float ROTATE_SCALE
           
private static float[] up
           
private static float[] view
           
private static int WHEEL_SCALE
           
private static float ZOOM_SCALE
           
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
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
ViewGL()
           
 
Method Summary
 void display()
          GL render view.
private  void drawCube(float[] translate, float[] scale, float[] rotate, int color)
          Draw a cube translated, rotated and scaled by given vectors.
 void init()
          Initialize GL window and set event handlers functions.
private  void initGL()
          GL initial settings.
 void motion(int x, int y)
          Mouse moved event handler.
 void mouse(int button, boolean isDown, int x, int y)
          Mouse button pressed event handler.
 void paint(java.awt.Graphics g)
           
 void reshapeWindow(int w, int h)
          Change window shape if GL panel is resized.
private  void setCreature(Creature creature, int list)
          Prepare display list for a creature.
 void setCreatures(java.util.ArrayList creatures)
          Prepare display lists for given creatures.
 void setHeighfield(java.util.ArrayList points, java.util.ArrayList faces)
          Prepare display list for heighfield.
 void update(java.awt.Graphics g)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ZOOM_SCALE

private static float ZOOM_SCALE

MOVE_SCALE

private static float MOVE_SCALE

ROTATE_SCALE

private static float ROTATE_SCALE

WHEEL_SCALE

private static int WHEEL_SCALE

eye

private static float[] eye

view

private static float[] view

up

private static float[] up

initialViewVector

private static Vector3D initialViewVector

camera

private Camera camera

ready

private boolean ready

displayList

private int displayList

heighfield

private int heighfield

creaturesCount

private int creaturesCount

isLeftButtonPressed

private boolean isLeftButtonPressed

isRightButtonPressed

private boolean isRightButtonPressed

isMiddleButtonPressed

private boolean isMiddleButtonPressed

lastX

private int lastX

lastY

private int lastY

myGL

jgl.GL myGL

myGLU

jgl.GLU myGLU

myUT

jgl.GLUT myUT
Constructor Detail

ViewGL

public ViewGL()
Method Detail

init

public void init()
Initialize GL window and set event handlers functions.


update

public void update(java.awt.Graphics g)
See Also:
Component.update(java.awt.Graphics)

paint

public void paint(java.awt.Graphics g)
See Also:
Component.paint(java.awt.Graphics)

mouse

public void mouse(int button,
                  boolean isDown,
                  int x,
                  int y)
Mouse button pressed event handler.

Parameters:
button - button type
isDown - true if button is pressed
x -
y -

motion

public void motion(int x,
                   int y)
Mouse moved event handler.

Parameters:
x -
y -

reshapeWindow

public void reshapeWindow(int w,
                          int h)
Change window shape if GL panel is resized.

Parameters:
w - new window width
h - new window height

initGL

private void initGL()
GL initial settings.


display

public void display()
GL render view.


drawCube

private void drawCube(float[] translate,
                      float[] scale,
                      float[] rotate,
                      int color)
Draw a cube translated, rotated and scaled by given vectors.

Parameters:
translate - translation vector
scale - scale vector
rotate - rotation vector
color - cube color index (0-red, 1-blue)

setCreatures

public void setCreatures(java.util.ArrayList creatures)
Prepare display lists for given creatures.

Parameters:
creatures - array of creatures

setCreature

private void setCreature(Creature creature,
                         int list)
Prepare display list for a creature.

Parameters:
creature - a creature object
list - a display list

setHeighfield

public void setHeighfield(java.util.ArrayList points,
                          java.util.ArrayList faces)
Prepare display list for heighfield.

Parameters:
points - array of points
faces - array of faces