Class Gui

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Canvas
          extended byjavax.media.j3d.Canvas3D
              extended byGui
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.io.Serializable

public class Gui
extends javax.media.j3d.Canvas3D
implements java.awt.event.MouseListener

Klassen inneholder logikk for opptegning av Java3d i forhold til innlest data.

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
Gui(java.awt.GraphicsConfiguration config, java.lang.String testdata, float threshold)
          Leser inn data som skal visualiseres oppretter scenen legger til en muslytter og en pickcanvas
 
Method Summary
 void addMenuItems(java.lang.String[] urlarray)
          Legger til "menyknapper" til popup menyen basert på en tabell over URLer.
 void changeColorsOnNodes(javax.media.j3d.Node node, boolean frekvensfarge)
           
 javax.media.j3d.BranchGroup createBackground()
          Oppretter bakgrunnen til scenen
 javax.media.j3d.BranchGroup createGraph()
          Oppretter kulene og koblingene til grafen
 javax.media.j3d.BranchGroup createLights()
          Oppretter lys til scenen
 javax.media.j3d.BranchGroup createSceneGraph()
          Oppretter Rotate/translate og mouse zoom til grafen legger til graf objektene, lys og bakgrunn
 void enablePicking(javax.media.j3d.Node node)
          Setter nodene klikkbare og setter bits som gjør at man kan lese barna til gruppene.
 void goBack()
          Hjelpemetode forå håndtere knapp valget gå tilbake. går tilbake til forrige node og oppdaterer stack informasjon.
 void goForward()
          Hjelpemetode for å håndtere knapp valget gå framover. går framover til tidligere node fungerer på samme vis som forward knappen i nettlesere og oppdaterer stack informasjon.
 void menuAction(java.awt.event.ActionEvent actionevent)
          Metode som håndterer menyvalg. den menyvalget som blir valgt inneholder en streng som sjekkes mot arrayet til noden som ble høyreklikket på
 void mouseClicked(java.awt.event.MouseEvent event)
          Metode som håndterer alt som har med museklikk å gjøre. høyeklikking av node bringer fra popup meny som tilater å vise rssurs håndterer også zoming,skalering og forteller programet når det skal vises skjules kanter.
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent event)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 void openNodeHistory(java.lang.String filename)
          Sletter den gjeldende historie informasjonene og leser inn ny histore informasjon fra fil
 void preformSpringEmbedder(EqualityMatrix em, java.util.LinkedList list)
          Utfører springembedder på listen over noder, på bakgrunn av likhetsmatrisen
 void readInDataForGraph()
          Metoden leser inn og oppretter de dataene som trengs for å visualisere grafen.
 void resetBrowseHistory()
          Fjerner nåværende browsehistorie
 void saveFrekdata()
          Hjelpemetode for å lagre frekvensdata til fil
 void saveNodeHistory(java.lang.String filename)
          Lagrer sesjons historien til det valget filnanvnet
 void setFrekensLimits(int limit)
           
 void setNode(javax.media.j3d.Node node, int nodetoshow, javax.media.j3d.Appearance app)
          Finn den speisifserte noden og sett den spesifiserte apperance på denne noden
 void settAllCylindersInvisible(javax.media.j3d.Node node, boolean invisible)
          Metoden går gjennom alle mulige greiner fra noden som spesifiseres(node tre) for alle instanser av Sphere gjøres disse objektene "klikkbare" Dette gjøres for å kunne velge kuler basert på geometien til nodene Alternativet hadde vært å velge kuler basert på bounds som er veldig unøyaktig
 void settSelectedNodesCylindersVisible(javax.media.j3d.Node node)
          Setter alle kantene synlig rundt den noden som er valgt
 void showFrekvens()
           
 
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, getWidth, getView, getVworldProjection, getVworldToImagePlate, getX, getY, isOffScreen, isRendererRunning, paint, postRender, postSwap, preRender, 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

Gui

public Gui(java.awt.GraphicsConfiguration config,
           java.lang.String testdata,
           float threshold)
Leser inn data som skal visualiseres oppretter scenen legger til en muslytter og en pickcanvas

Parameters:
config -
Method Detail

readInDataForGraph

public void readInDataForGraph()
Metoden leser inn og oppretter de dataene som trengs for å visualisere grafen.


preformSpringEmbedder

public void preformSpringEmbedder(EqualityMatrix em,
                                  java.util.LinkedList list)
Utfører springembedder på listen over noder, på bakgrunn av likhetsmatrisen

Parameters:
em - Likhetsmatrisen til nodene
list - listen over nodene

createSceneGraph

public javax.media.j3d.BranchGroup createSceneGraph()
Oppretter Rotate/translate og mouse zoom til grafen legger til graf objektene, lys og bakgrunn

Returns:
Returnerer BranchGroup som legges til scenen

createGraph

public javax.media.j3d.BranchGroup createGraph()
Oppretter kulene og koblingene til grafen

Returns:
Tre som inneholder nodene som skal visualiseres

createLights

public javax.media.j3d.BranchGroup createLights()
Oppretter lys til scenen

Returns:
gruppe som legges til scenen

createBackground

public javax.media.j3d.BranchGroup createBackground()
Oppretter bakgrunnen til scenen

Returns:
gruppe som legges til scenen

menuAction

public void menuAction(java.awt.event.ActionEvent actionevent)
Metode som håndterer menyvalg. den menyvalget som blir valgt inneholder en streng som sjekkes mot arrayet til noden som ble høyreklikket på

Parameters:
actionevent -

showFrekvens

public void showFrekvens()

setFrekensLimits

public void setFrekensLimits(int limit)

changeColorsOnNodes

public void changeColorsOnNodes(javax.media.j3d.Node node,
                                boolean frekvensfarge)

settAllCylindersInvisible

public void settAllCylindersInvisible(javax.media.j3d.Node node,
                                      boolean invisible)
Metoden går gjennom alle mulige greiner fra noden som spesifiseres(node tre) for alle instanser av Sphere gjøres disse objektene "klikkbare" Dette gjøres for å kunne velge kuler basert på geometien til nodene Alternativet hadde vært å velge kuler basert på bounds som er veldig unøyaktig

Parameters:
node -

settSelectedNodesCylindersVisible

public void settSelectedNodesCylindersVisible(javax.media.j3d.Node node)
Setter alle kantene synlig rundt den noden som er valgt

Parameters:
node -

enablePicking

public void enablePicking(javax.media.j3d.Node node)
Setter nodene klikkbare og setter bits som gjør at man kan lese barna til gruppene.

Parameters:
node -

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Metode som håndterer alt som har med museklikk å gjøre. høyeklikking av node bringer fra popup meny som tilater å vise rssurs håndterer også zoming,skalering og forteller programet når det skal vises skjules kanter.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

addMenuItems

public void addMenuItems(java.lang.String[] urlarray)
Legger til "menyknapper" til popup menyen basert på en tabell over URLer.

Parameters:
urlarray -

setNode

public void setNode(javax.media.j3d.Node node,
                    int nodetoshow,
                    javax.media.j3d.Appearance app)
Finn den speisifserte noden og sett den spesifiserte apperance på denne noden

Parameters:
node - som skal foranfre utseende
nodetoshow - verid for å finne riktig node
app - utsendeinformasjon som skal settes på noden

goBack

public void goBack()
Hjelpemetode forå håndtere knapp valget gå tilbake. går tilbake til forrige node og oppdaterer stack informasjon.


goForward

public void goForward()
Hjelpemetode for å håndtere knapp valget gå framover. går framover til tidligere node fungerer på samme vis som forward knappen i nettlesere og oppdaterer stack informasjon.


saveFrekdata

public void saveFrekdata()
Hjelpemetode for å lagre frekvensdata til fil


openNodeHistory

public void openNodeHistory(java.lang.String filename)
Sletter den gjeldende historie informasjonene og leser inn ny histore informasjon fra fil

Parameters:
filename - navnet på filen der historie informasjonen ligger

saveNodeHistory

public void saveNodeHistory(java.lang.String filename)
Lagrer sesjons historien til det valget filnanvnet

Parameters:
filename - navnet på filen der browse historien skal lagres

resetBrowseHistory

public void resetBrowseHistory()
Fjerner nåværende browsehistorie


mousePressed

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

mouseReleased

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

mouseEntered

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

mouseExited

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