public abstract class ContourPlot extends AbstractOTSPlot implements ActionListener, org.jfree.data.xy.XYZDataset, MultipleViewerChart, LaneBasedGTUSampler, nl.tudelft.simulation.event.EventListenerInterface, Serializable
Copyright (c) 2013-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
$LastChangedDate: 2015-09-14 01:33:02 +0200 (Mon, 14 Sep 2015) $, @version $Revision: 1401 $, by $Author: averbraeck $,
initial version Jul 16, 2014
JFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected static org.djunits.value.vdouble.scalar.Time |
INITIALLOWERTIMEBOUND
Initial lower bound for the time scale.
|
protected static org.djunits.value.vdouble.scalar.Time |
INITIALUPPERTIMEBOUND
Initial upper bound for the time scale.
|
protected static double[] |
STANDARDDISTANCEGRANULARITIES
Distance granularity values.
|
protected static int |
STANDARDINITIALDISTANCEGRANULARITYINDEX
Index of the initial distance granularity in standardTimeGranularites.
|
protected static int |
STANDARDINITIALTIMEGRANULARITYINDEX
Index of the initial time granularity in standardTimeGranularites.
|
protected static double[] |
STANDARDTIMEGRANULARITIES
Time granularity values.
|
protected Axis |
xAxis
Definition of the X-axis.
|
protected Axis |
yAxis
Definition of the Y-axis.
|
GRAPH_ADD_EVENT, GRAPH_REMOVE_EVENT
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ContourPlot(String caption,
Axis xAxis,
List<Lane> path,
double redValue,
double yellowValue,
double greenValue,
String valueFormat,
String legendFormat,
double legendStep)
Create a new ContourPlot.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent actionEvent) |
protected void |
addData(LaneBasedGTU gtu,
Lane lane)
Add data for a GTU on a lane to this graph.
|
abstract double |
computeZValue(int firstTimeBin,
int endTimeBin,
int firstDistanceBin,
int endDistanceBin)
Combine values in a range of time bins and distance bins to obtain a combined density value of the ranges.
|
protected org.jfree.chart.JFreeChart |
createChart(JFrame container)
Create the visualization.
|
abstract void |
extendXRange(org.djunits.value.vdouble.scalar.DoubleScalarInterface newUpperLimit)
Increase storage for sample data.
|
org.djunits.value.vdouble.scalar.Length |
getCumulativeLength(int index)
Retrieve the cumulative length of the sampled path at the end of a path element.
|
org.jfree.data.DomainOrder |
getDomainOrder() |
org.jfree.data.general.DatasetGroup |
getGroup() |
int |
getItemCount(int series) |
int |
getSeriesCount() |
Number |
getX(int series,
int item) |
Axis |
getXAxis()
Get the X axis.
|
double |
getXValue(int series,
int item) |
Number |
getY(int series,
int item) |
Axis |
getYAxis()
Get the Y axis.
|
double |
getYValue(int series,
int item) |
Number |
getZ(int series,
int item) |
double |
getZValue(int series,
int item) |
abstract void |
incrementBinData(int timeBin,
int distanceBin,
double duration,
double distanceCovered,
double acceleration)
Increment the data of one bin.
|
int |
indexOf(Comparable seriesKey) |
void |
notify(nl.tudelft.simulation.event.EventInterface event) |
void |
reGraph()
Redraw this ContourGraph (after the underlying data, or a granularity setting has been changed).
|
void |
setGroup(org.jfree.data.general.DatasetGroup group) |
protected int |
xAxisBin(int item)
Return the x-axis bin number (the column number) of an item.
|
protected int |
xAxisBins()
Retrieve the number of cells to use along the time axis.
|
protected int |
yAxisBin(int item)
Return the y-axis bin number (the row number) of an item.
|
protected int |
yAxisBins()
Retrieve the number of cells to use along the distance axis.
|
addChangeListener, addViewer, generatePNG, getCaption, getGraphType, getId, getListenerList, getPath, notifyListeners, removeChangeListener, setChart
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addChangeListener, removeChangeListener
addViewer
getFont, postEvent
protected final Axis xAxis
protected final Axis yAxis
protected static final double[] STANDARDTIMEGRANULARITIES
protected static final int STANDARDINITIALTIMEGRANULARITYINDEX
protected static final double[] STANDARDDISTANCEGRANULARITIES
protected static final int STANDARDINITIALDISTANCEGRANULARITYINDEX
protected static final org.djunits.value.vdouble.scalar.Time INITIALLOWERTIMEBOUND
protected static final org.djunits.value.vdouble.scalar.Time INITIALUPPERTIMEBOUND
public ContourPlot(String caption, Axis xAxis, List<Lane> path, double redValue, double yellowValue, double greenValue, String valueFormat, String legendFormat, double legendStep) throws org.opentrafficsim.simulationengine.OTSSimulationException
caption
- String; text to show above the plotting areaxAxis
- Axis; the X (time) axispath
- ArrayList<Lane>; the series of Lanes that will provide the data for this TrajectoryPlotredValue
- Double; contour value that will be rendered in RedyellowValue
- Double; contour value that will be rendered in YellowgreenValue
- Double; contour value that will be rendered in GreenvalueFormat
- String; format string for the contour valueslegendFormat
- String; format string for the captions in the color legendlegendStep
- Double; increment between color legend entriesorg.opentrafficsim.simulationengine.OTSSimulationException
- when the scale cannot be generatedpublic void notify(nl.tudelft.simulation.event.EventInterface event) throws RemoteException
notify
in interface nl.tudelft.simulation.event.EventListenerInterface
RemoteException
public final org.djunits.value.vdouble.scalar.Length getCumulativeLength(int index)
index
- int; the index of the path element; if -1, the total length of the path is returnedprotected org.jfree.chart.JFreeChart createChart(JFrame container)
createChart
in class AbstractOTSPlot
container
- JFrame; the JFrame that will be filled with chart and the status labelpublic final void actionPerformed(ActionEvent actionEvent)
actionPerformed
in interface ActionListener
public final void reGraph()
reGraph
in interface LaneBasedGTUSampler
reGraph
in class AbstractOTSPlot
public final int getSeriesCount()
getSeriesCount
in interface org.jfree.data.general.SeriesDataset
protected final int yAxisBins()
protected final int yAxisBin(int item)
item
- Integer; the itemprotected final int xAxisBin(int item)
item
- Integer; the itemprotected final int xAxisBins()
public final int getItemCount(int series)
getItemCount
in interface org.jfree.data.xy.XYDataset
public final Number getX(int series, int item)
getX
in interface org.jfree.data.xy.XYDataset
public final double getXValue(int series, int item)
getXValue
in interface org.jfree.data.xy.XYDataset
public final Number getY(int series, int item)
getY
in interface org.jfree.data.xy.XYDataset
public final double getYValue(int series, int item)
getYValue
in interface org.jfree.data.xy.XYDataset
public final Number getZ(int series, int item)
getZ
in interface org.jfree.data.xy.XYZDataset
public final org.jfree.data.general.DatasetGroup getGroup()
getGroup
in interface org.jfree.data.general.Dataset
public void setGroup(org.jfree.data.general.DatasetGroup group)
setGroup
in interface org.jfree.data.general.Dataset
public final int indexOf(Comparable seriesKey)
indexOf
in interface org.jfree.data.general.SeriesDataset
public final org.jfree.data.DomainOrder getDomainOrder()
getDomainOrder
in interface org.jfree.data.xy.XYDataset
protected final void addData(LaneBasedGTU gtu, Lane lane)
gtu
- the gtu to add the data forlane
- the lane on which the GTU is registeredpublic abstract void extendXRange(org.djunits.value.vdouble.scalar.DoubleScalarInterface newUpperLimit)
newUpperLimit
- DoubleScalar<?> new upper limit for the X rangepublic abstract void incrementBinData(int timeBin, int distanceBin, double duration, double distanceCovered, double acceleration)
timeBin
- Integer; the rank of the bin on the time-scaledistanceBin
- Integer; the rank of the bin on the distance-scaleduration
- Double; the time spent in this bindistanceCovered
- Double; the distance covered in this binacceleration
- Double; the average acceleration in this binpublic final double getZValue(int series, int item)
getZValue
in interface org.jfree.data.xy.XYZDataset
public abstract double computeZValue(int firstTimeBin, int endTimeBin, int firstDistanceBin, int endDistanceBin)
firstTimeBin
- Integer; the first time bin to useendTimeBin
- Integer; one higher than the last time bin to usefirstDistanceBin
- Integer; the first distance bin to useendDistanceBin
- Integer; one higher than the last distance bin to usepublic final Axis getXAxis()
public final Axis getYAxis()
Copyright © 2014–2017 Delft University of Technology. All rights reserved.