public class FundamentalDiagram extends AbstractBoundedPlot implements XYDataset
Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
Modifier and Type | Class and Description |
---|---|
static interface |
FundamentalDiagram.FdSource
Data source for a fundamental diagram.
|
static class |
FundamentalDiagram.Quantity
Quantity enum defining density, flow and speed.
|
JFrame.AccessibleJFrame
Frame.AccessibleAWTFrame
Window.AccessibleAWTWindow, Window.Type
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static double[] |
DEFAULT_PERIODS
Aggregation periods.
|
static int[] |
DEFAULT_UPDATE_FREQUENCIES
Update frequencies (n * 1/period).
|
DEFAULT_INITIAL_UPPER_TIME_BOUND, 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 |
---|
FundamentalDiagram(String caption,
FundamentalDiagram.Quantity domainQuantity,
FundamentalDiagram.Quantity rangeQuantity,
OTSSimulatorInterface simulator,
FundamentalDiagram.FdSource source)
Constructor.
|
FundamentalDiagram(String caption,
FundamentalDiagram.Quantity domainQuantity,
FundamentalDiagram.Quantity rangeQuantity,
OTSSimulatorInterface simulator,
Sampler<?> sampler,
GraphCrossSection<KpiLaneDirection> crossSection,
boolean aggregateLanes,
Duration aggregationTime,
boolean harmonic)
Constructor using a sampler as source.
|
FundamentalDiagram(String caption,
FundamentalDiagram.Quantity domainQuantity,
FundamentalDiagram.Quantity rangeQuantity,
OTSSimulatorInterface simulator,
Sampler<?> sampler,
GraphPath<KpiLaneDirection> path,
boolean aggregateLanes,
Duration aggregationTime)
Constructor using a sampler as source.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addPopUpMenuItems(JPopupMenu popupMenu)
Overridable method to add pop up items.
|
protected ChartMouseListener |
getChartMouseListener()
Overridable; may return a chart listener for additional functions.
|
DomainOrder |
getDomainOrder() |
GraphType |
getGraphType()
Return the graph type for transceiver.
|
int |
getItemCount(int series) |
int |
getSeriesCount() |
Comparable<String> |
getSeriesKey(int series) |
protected String |
getStatusLabel(double domainValue,
double rangeValue)
Returns the status label when the mouse is over the given location.
|
Number |
getX(int series,
int item) |
double |
getXValue(int series,
int item) |
Number |
getY(int series,
int item) |
double |
getYValue(int series,
int item) |
protected void |
increaseTime(Time time)
Increase the simulated time span.
|
int |
indexOf(Comparable seriesKey) |
static FundamentalDiagram.FdSource |
sourceFromSampler(Sampler<?> sampler,
GraphCrossSection<KpiLaneDirection> crossSection,
boolean aggregateLanes,
Duration aggregationTime,
boolean harmonic)
Creates a
Source from a sampler and positions. |
static FundamentalDiagram.FdSource |
sourceFromSampler(Sampler<?> sampler,
GraphPath<KpiLaneDirection> path,
boolean aggregateLanes,
Duration aggregationTime)
Creates a
Source from a sampler and positions. |
String |
toString() |
setAutoBoundDomain, setAutoBoundRange, setChart, setLowerDomainBound, setLowerRangeBound, setUpperDomainBound, setUpperRangeBound
addChangeListener, encodeAsPng, getCaption, getChart, getGroup, getId, getUpdateTime, notifyPlotChange, removeChangeListener, setGroup, setStatusLabel, setUpdateInterval, update
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, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addChangeListener, getGroup, removeChangeListener, setGroup
getFont, postEvent
public static final double[] DEFAULT_PERIODS
public static final int[] DEFAULT_UPDATE_FREQUENCIES
public FundamentalDiagram(String caption, FundamentalDiagram.Quantity domainQuantity, FundamentalDiagram.Quantity rangeQuantity, OTSSimulatorInterface simulator, FundamentalDiagram.FdSource source)
caption
- String; captiondomainQuantity
- Quantity; initial quantity on the domain axisrangeQuantity
- Quantity; initial quantity on the range axissimulator
- OTSSimulatorInterface; simulatorsource
- FdSource; source providing the datapublic FundamentalDiagram(String caption, FundamentalDiagram.Quantity domainQuantity, FundamentalDiagram.Quantity rangeQuantity, OTSSimulatorInterface simulator, Sampler<?> sampler, GraphCrossSection<KpiLaneDirection> crossSection, boolean aggregateLanes, Duration aggregationTime, boolean harmonic)
caption
- String; captiondomainQuantity
- Quantity; initial quantity on the domain axisrangeQuantity
- Quantity; initial quantity on the range axissimulator
- OTSSimulatorInterface; simulatorsampler
- Sampler<?>; samplercrossSection
- GraphCrossSection<KpiLaneDirection>; lanesaggregateLanes
- boolean; whether to aggregate the positionsaggregationTime
- Duration; aggregation time (and update time)harmonic
- boolean; harmonic meanpublic FundamentalDiagram(String caption, FundamentalDiagram.Quantity domainQuantity, FundamentalDiagram.Quantity rangeQuantity, OTSSimulatorInterface simulator, Sampler<?> sampler, GraphPath<KpiLaneDirection> path, boolean aggregateLanes, Duration aggregationTime)
caption
- String; captiondomainQuantity
- Quantity; initial quantity on the domain axisrangeQuantity
- Quantity; initial quantity on the range axissimulator
- OTSSimulatorInterface; simulatorsampler
- Sampler<?>; samplerpath
- GraphPath<KpiLaneDirection>; lanesaggregateLanes
- boolean; whether to aggregate the positionsaggregationTime
- Duration; aggregation time (and update time)protected ChartMouseListener getChartMouseListener()
getChartMouseListener
in class AbstractPlot
null
by defaultprotected void addPopUpMenuItems(JPopupMenu popupMenu)
addPopUpMenuItems
in class AbstractPlot
popupMenu
- JPopupMenu; pop up menuprotected void increaseTime(Time time)
increaseTime
in class AbstractPlot
time
- Time; time to increase topublic int getSeriesCount()
getSeriesCount
in interface SeriesDataset
public Comparable<String> getSeriesKey(int series)
getSeriesKey
in interface SeriesDataset
public int indexOf(Comparable seriesKey)
indexOf
in interface SeriesDataset
public DomainOrder getDomainOrder()
getDomainOrder
in interface XYDataset
public int getItemCount(int series)
getItemCount
in interface XYDataset
public double getXValue(int series, int item)
public double getYValue(int series, int item)
public GraphType getGraphType()
getGraphType
in class AbstractPlot
protected String getStatusLabel(double domainValue, double rangeValue)
getStatusLabel
in class AbstractPlot
domainValue
- double; domain value (x-axis)rangeValue
- double; range value (y-axis)public static FundamentalDiagram.FdSource sourceFromSampler(Sampler<?> sampler, GraphCrossSection<KpiLaneDirection> crossSection, boolean aggregateLanes, Duration aggregationTime, boolean harmonic)
Source
from a sampler and positions.sampler
- Sampler<?>; samplercrossSection
- GraphCrossSection<KpiLaneDirection>; cross sectionaggregateLanes
- boolean; whether to aggregate the positionsaggregationTime
- Duration; aggregation time (and update time)harmonic
- boolean; harmonic meanpublic static FundamentalDiagram.FdSource sourceFromSampler(Sampler<?> sampler, GraphPath<KpiLaneDirection> path, boolean aggregateLanes, Duration aggregationTime)
Source
from a sampler and positions.sampler
- Sampler<?>; samplerpath
- GraphPath<KpiLaneDirection>; cross sectionaggregateLanes
- boolean; whether to aggregate the positionsaggregationTime
- Duration; aggregation time (and update time)Copyright © 2014–2019 Delft University of Technology. All rights reserved.