org.ascape.view.vis
Class Overhead2DView

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 org.ascape.view.vis.PanelView
                      extended by org.ascape.view.vis.BufferView
                          extended by org.ascape.view.vis.AgentView
                              extended by org.ascape.view.vis.AgentSizedView
                                  extended by org.ascape.view.vis.CellView
                                      extended by org.ascape.view.vis.HostedAgentView
                                          extended by org.ascape.view.vis.Overhead2DView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible, ScapeListener, HasName, ComponentView
Direct Known Subclasses:
OverheadRelative2DView

public class Overhead2DView
extends HostedAgentView

A scape view that draws the classic bird's eye view of a 2-dimensional lattice. Draws each cell the cell feature color, then draws an oval in each cell in the agent's feature color. Future versions will provide more drawing options and support multiple agent populations within one lattice.

Since:
1.0
Version:
1.9
Author:
Miles Parker
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean drawSelectedNeighbors
          The draw selected neighbors.
 
Fields inherited from class org.ascape.view.vis.HostedAgentView
agents_fill_cells_draw_feature, agents_image_cells_draw_feature, agents_oval_cells_boundary_draw_feature, agents_oval_cells_desc_draw_feature, agents_oval_cells_draw_feature
 
Fields inherited from class org.ascape.view.vis.CellView
borderSize, cells_fill_draw_feature, cells_fill_draw_inset_feature
 
Fields inherited from class org.ascape.view.vis.AgentSizedView
agentSize
 
Fields inherited from class org.ascape.view.vis.AgentView
agentColorFeature, agentCustomizer, clearBackgroundAutomatically, drawSelection, updateAllRequested
 
Fields inherited from class org.ascape.view.vis.BufferView
bufferedGraphics, bufferedImage
 
Fields inherited from class org.ascape.view.vis.PanelView
delegate, iterationsPerRedraw, name, scape
 
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
Overhead2DView()
          Constructs an overhead two-dimensional view.
Overhead2DView(java.lang.String name)
          Constructs an overhead two-dimensional view.
 
Method Summary
 void addNotify()
          Override addNotify to build buffer.
 int calculateAgentSizeForViewSize(java.awt.Dimension d)
          Calculate agent size for view size.
 java.awt.Dimension calculateViewSizeForAgentSize(int cellSize)
          Calculate view size for agent size.
protected  void drawCellAt(int x, int y)
          Draw cell at.
protected  void drawCellAt(int x, int y, DrawFeature feature)
          Draw cell at.
protected  void drawCellAtIfUpdate(int x, int y)
          Draw cell at if update.
protected  void drawCellAtIfUpdate(int x, int y, DrawFeature feature)
          Draw cell at if update.
protected  void drawNeighborsFor(java.awt.Graphics g, LocatedAgent agent)
          Draw neighbors for.
 void drawSelectedAgent(java.awt.Graphics g, LocatedAgent a)
          Draws a marker for the provided selected agent.
protected  void drawSelectedAgentAt(java.awt.Graphics g, LocatedAgent a)
          Draw selected agent at.
 Agent getAgentAtPixel(int x, int y)
          Returns the cell at the given pixel in this view.
 boolean isDrawByFeature()
          Method called once a model is deserialized.
 boolean isDrawFarNeighbors()
          Checks if is draw far neighbors.
 boolean isDrawNetwork()
          Checks if is draw network.
 boolean isDrawSelectedNeighbors()
          Checks if is draw selected neighbors.
 void scapeAdded(ScapeEvent scapeEvent)
          Notifies the listener that the scape has added it.
 void setDrawByFeature(boolean drawByFeature)
          Sets the draw by feature.
 void setDrawFarNeighbors(boolean drawFarNeighbors)
          Sets the draw far neighbors.
 void setDrawNetwork(boolean drawNetwork)
          Should this view draw network connections between agents?.
 void setDrawSelectedNeighbors(boolean drawSelectedNeighbors)
          Should this view draw neighbor connections between agents?.
 void updateScapeGraphics()
          On notification of a scape update, draws the actual overhead view.
 
Methods inherited from class org.ascape.view.vis.HostedAgentView
build, getHostedAgentColorFeature, getPrimaryAgentColorFeature, readExternal, setHostedAgentColorFeature, setHostedAgentImageFeature, setPrimaryAgentColorFeature, writeExternal
 
Methods inherited from class org.ascape.view.vis.CellView
getBorderSize, getCellColorFeature, getCellSize, getIcon, scapeRemoved, setBorderSize, setCellColorFeature, setCellSize
 
Methods inherited from class org.ascape.view.vis.AgentSizedView
getAgentSize, getPreferredSizeWithin, setAgentSize, setBounds
 
Methods inherited from class org.ascape.view.vis.AgentView
addDrawFeature, createAgentCustomizer, createAgentCustomizerPanel, displayAgentCustomizer, displayCustomizer, drawSelectedAgent, getAgentColorFeature, getAgentCustomizer, getDrawFeatures, getDrawFeaturesObservable, getDrawSelection, isClearBackground, paintComponent, removeAgentCustomizer, removeCustomizer, removeDrawFeature, requestUpdateAll, scapeStarted, setAgentColorFeature, setAgentCustomizer, setClearBackground, setCustomizeAgent, update
 
Methods inherited from class org.ascape.view.vis.BufferView
buildGraphicsBuffer, finalize, getBufferedImage, imageUpdate, setBufferedImage
 
Methods inherited from class org.ascape.view.vis.PanelView
clone, environmentQuiting, forceScapeNotify, getDelegate, getIterationsPerRedraw, getName, getScape, getViewFrame, iconUpdated, isGraphic, isLifeOfScape, notifyScapeUpdated, onChangeIterationsPerRedraw, scapeClosing, scapeDeserialized, scapeInitialized, scapeIterated, scapeNotification, scapeSetup, scapeStopped, setDelegate, setIterationsPerRedraw, setMovieRecorder, setName, setViewFrame, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, 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, 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, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

drawSelectedNeighbors

protected boolean drawSelectedNeighbors
The draw selected neighbors.

Constructor Detail

Overhead2DView

public Overhead2DView()
Constructs an overhead two-dimensional view.


Overhead2DView

public Overhead2DView(java.lang.String name)
Constructs an overhead two-dimensional view.

Parameters:
name - a user relevant name for this view
Method Detail

addNotify

public void addNotify()
Override addNotify to build buffer.

Overrides:
addNotify in class AgentSizedView

drawCellAtIfUpdate

protected void drawCellAtIfUpdate(int x,
                                  int y)
Draw cell at if update.

Parameters:
x - the x
y - the y

drawCellAt

protected void drawCellAt(int x,
                          int y)
Draw cell at.

Parameters:
x - the x
y - the y

drawCellAtIfUpdate

protected void drawCellAtIfUpdate(int x,
                                  int y,
                                  DrawFeature feature)
Draw cell at if update.

Parameters:
x - the x
y - the y
feature - the feature

drawCellAt

protected void drawCellAt(int x,
                          int y,
                          DrawFeature feature)
Draw cell at.

Parameters:
x - the x
y - the y
feature - the feature

getAgentAtPixel

public Agent getAgentAtPixel(int x,
                             int y)
Description copied from class: AgentView
Returns the cell at the given pixel in this view.

Overrides:
getAgentAtPixel in class AgentView
Parameters:
x - the horizontal pixel location
y - the vertical pixel location
Returns:
the agent at pixel

drawNeighborsFor

protected void drawNeighborsFor(java.awt.Graphics g,
                                LocatedAgent agent)
Draw neighbors for.

Parameters:
g - the g
agent - the agent

drawSelectedAgentAt

protected void drawSelectedAgentAt(java.awt.Graphics g,
                                   LocatedAgent a)
Draw selected agent at.

Parameters:
g - the g
a - the a

drawSelectedAgent

public void drawSelectedAgent(java.awt.Graphics g,
                              LocatedAgent a)
Description copied from class: AgentView
Draws a marker for the provided selected agent.

Overrides:
drawSelectedAgent in class AgentView
Parameters:
g - the graphics context to draw to
a - the agent to draw

scapeAdded

public void scapeAdded(ScapeEvent scapeEvent)
                throws java.util.TooManyListenersException
Notifies the listener that the scape has added it. Override to set draw network on if the scape is a small world.

Specified by:
scapeAdded in interface ScapeListener
Overrides:
scapeAdded in class AgentSizedView
Parameters:
scapeEvent - the scape added notification event
Throws:
java.util.TooManyListenersException - the too many listeners exception
java.util.TooManyListenersException - on attempt to add this listener to another scape when one has already been assigned

updateScapeGraphics

public void updateScapeGraphics()
On notification of a scape update, draws the actual overhead view.

Specified by:
updateScapeGraphics in interface ComponentView
Overrides:
updateScapeGraphics in class AgentView

calculateViewSizeForAgentSize

public java.awt.Dimension calculateViewSizeForAgentSize(int cellSize)
Description copied from class: AgentSizedView
Calculate view size for agent size.

Overrides:
calculateViewSizeForAgentSize in class AgentSizedView
Parameters:
cellSize - the agent size
Returns:
the dimension

calculateAgentSizeForViewSize

public int calculateAgentSizeForViewSize(java.awt.Dimension d)
Description copied from class: AgentSizedView
Calculate agent size for view size.

Overrides:
calculateAgentSizeForViewSize in class AgentSizedView
Parameters:
d - the d
Returns:
the int

isDrawByFeature

public boolean isDrawByFeature()
Method called once a model is deserialized.

Returns:
true, if is draw by feature

setDrawByFeature

public void setDrawByFeature(boolean drawByFeature)
Sets the draw by feature.

Parameters:
drawByFeature - the new draw by feature

isDrawNetwork

public boolean isDrawNetwork()
Checks if is draw network.

Returns:
true, if is draw network

isDrawSelectedNeighbors

public boolean isDrawSelectedNeighbors()
Checks if is draw selected neighbors.

Returns:
true, if is draw selected neighbors

isDrawFarNeighbors

public boolean isDrawFarNeighbors()
Checks if is draw far neighbors.

Returns:
true, if is draw far neighbors

setDrawNetwork

public void setDrawNetwork(boolean drawNetwork)
Should this view draw network connections between agents?.

Parameters:
drawNetwork - the draw network

setDrawSelectedNeighbors

public void setDrawSelectedNeighbors(boolean drawSelectedNeighbors)
Should this view draw neighbor connections between agents?.

Parameters:
drawSelectedNeighbors - the draw selected neighbors

setDrawFarNeighbors

public void setDrawFarNeighbors(boolean drawFarNeighbors)
Sets the draw far neighbors.

Parameters:
drawFarNeighbors - the new draw far neighbors


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.