edu.cmu.emulator.vis
Class WorldView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.cmu.emulator.vis.MapPanel
                      extended by edu.cmu.emulator.vis.WorldView
All Implemented Interfaces:
VisController, MouseListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class WorldView
extends MapPanel
implements MouseListener, VisController

Note that this class currently assumes that nodes are not added or remove dynamically. Drawing strategy: - Paint grid and nodes directly on mapImage.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  AlphaComposite aComp
           
private  AlphaComposite aCompLight
           
private  AlphaComposite aCompMedium
           
private  ChannelViewer channelViewer
           
private static int CURSOR_SIZE
           
private  int cursorX
           
private  int cursorY
           
private static int DEF_HEIGHT_PIXELS
           
private static double DEF_PIXELS_PER_METER
           
private static int DEF_WIDTH_PIXELS
           
private  Emulator emulator
           
private  EmuWorld emuWorld
           
private  boolean grid
           
private  long lastRedraw
           
private  Color lightColor
           
private  int majorGridMeters
           
private  int mediumGridMeters
           
private  int minorGridMeters
           
private  ArrayList nodes
           
private  AffineTransform nodeTransform
           
private  NodeViewer nodeViewer
           
private  int oldCursorX
           
private  int oldCursorY
           
private  boolean redrawRequested
           
private  AffineTransform xform
           
private  AffineTransformOp xformOp
           
 
Fields inherited from class edu.cmu.emulator.vis.MapPanel
boundsPixels, bufRawImage, bufRawImageG2, clipBoundsPixels, heightMeters, heightPixels, identityTransform, mapG2, mapImage, mapLoaded, mapName, mapTransform, MAX_ZOOM, maxMetersX, maxMetersY, MIN_ZOOM, minMetersX, minMetersY, originPixelX, originPixelY, pixelsPerMeterX, pixelsPerMeterY, rawImage, rotTheta, sizePixels, widthMeters, widthPixels, zoom
 
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.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
WorldView(Emulator emulator)
           
 
Method Summary
 void addNode(String name, double[] pos, String color)
           
 void addNode(WVNode node)
           
 void checkForRedraw()
           
private  void checkNodePositions()
           
 void cleanUp(int xPixelPos, int yPixelPos, int radius)
           
 void displayNodeNames()
           
private  void drawBackground()
           
private  void drawLine(double sxMeters, double syMeters, double exMeters, double eyMeters)
           
 WVNode getNode(String nodeName)
           
private  WVNode getNodeByName(String name)
           
 VisController getVisController()
           
private  void initB()
           
 void loadMap(String mapName, double pixelsPerMeterX, double pixelsPerMeterY, double originPixelX, double originPixelY)
           
 void mouseClicked(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 void moveNode()
           
 void noMap()
           
 void paintComponent(Graphics g)
           
private  void redraw()
           
 void requestRedraw()
           
 void setGrid(int minorGridMeters, int mediumGridMeters, int majorGridMeters)
           
 void setPos(String name, double[] pos)
           
 void showChannels(String srcNode, String destNode)
           
 void showGrid(boolean grid)
           
 void test()
           
 void viewNode()
           
 
Methods inherited from class edu.cmu.emulator.vis.MapPanel
clearMap, createBufRawImage, drawBackground, getHeightPixels, getMapGraphics2D, getWidthPixels, init, main, setZoom, updateMapTransform
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

xformOp

private AffineTransformOp xformOp

xform

private AffineTransform xform

nodes

private ArrayList nodes

lightColor

private Color lightColor

redrawRequested

private boolean redrawRequested

emulator

private Emulator emulator

emuWorld

private EmuWorld emuWorld

nodeViewer

private NodeViewer nodeViewer

oldCursorX

private int oldCursorX

oldCursorY

private int oldCursorY

cursorX

private int cursorX

cursorY

private int cursorY

channelViewer

private ChannelViewer channelViewer

minorGridMeters

private int minorGridMeters

mediumGridMeters

private int mediumGridMeters

majorGridMeters

private int majorGridMeters

grid

private boolean grid

lastRedraw

private long lastRedraw

aComp

private AlphaComposite aComp

aCompLight

private AlphaComposite aCompLight

aCompMedium

private AlphaComposite aCompMedium

nodeTransform

private AffineTransform nodeTransform

DEF_HEIGHT_PIXELS

private static final int DEF_HEIGHT_PIXELS
See Also:
Constant Field Values

DEF_WIDTH_PIXELS

private static final int DEF_WIDTH_PIXELS
See Also:
Constant Field Values

DEF_PIXELS_PER_METER

private static final double DEF_PIXELS_PER_METER
See Also:
Constant Field Values

CURSOR_SIZE

private static final int CURSOR_SIZE
See Also:
Constant Field Values
Constructor Detail

WorldView

public WorldView(Emulator emulator)
Method Detail

showGrid

public void showGrid(boolean grid)

setGrid

public void setGrid(int minorGridMeters,
                    int mediumGridMeters,
                    int majorGridMeters)

initB

private void initB()

noMap

public void noMap()

loadMap

public void loadMap(String mapName,
                    double pixelsPerMeterX,
                    double pixelsPerMeterY,
                    double originPixelX,
                    double originPixelY)
             throws IOException
Overrides:
loadMap in class MapPanel
Throws:
IOException

drawBackground

private void drawBackground()

drawLine

private void drawLine(double sxMeters,
                      double syMeters,
                      double exMeters,
                      double eyMeters)

redraw

private void redraw()

test

public void test()

paintComponent

public void paintComponent(Graphics g)
Overrides:
paintComponent in class MapPanel

addNode

public void addNode(String name,
                    double[] pos,
                    String color)

addNode

public void addNode(WVNode node)

setPos

public void setPos(String name,
                   double[] pos)

getNodeByName

private WVNode getNodeByName(String name)

displayNodeNames

public void displayNodeNames()

requestRedraw

public void requestRedraw()

checkNodePositions

private void checkNodePositions()

checkForRedraw

public void checkForRedraw()

getVisController

public VisController getVisController()

mouseClicked

public void mouseClicked(MouseEvent e)
Specified by:
mouseClicked in interface MouseListener

cleanUp

public void cleanUp(int xPixelPos,
                    int yPixelPos,
                    int radius)

mouseEntered

public void mouseEntered(MouseEvent e)
Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Specified by:
mouseExited in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener

viewNode

public void viewNode()
Specified by:
viewNode in interface VisController

moveNode

public void moveNode()
Specified by:
moveNode in interface VisController

showChannels

public void showChannels(String srcNode,
                         String destNode)
Specified by:
showChannels in interface VisController

getNode

public WVNode getNode(String nodeName)


Copyright © 2013. All Rights Reserved.