public class TrajectoryPlot extends AbstractOTSPlot implements org.jfree.data.xy.XYDataset, LaneBasedGTUSampler, nl.tudelft.simulation.event.EventListenerInterface
Copyright (c) 2013-2016 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 24, 2014
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
TrajectoryPlot.FixedSampleRateTrajectory
Store trajectory data for use with a fixed sample rate.
|
(package private) static interface |
TrajectoryPlot.Trajectory
Common interface for both (all?) types of trajectories.
|
(package private) class |
TrajectoryPlot.VariableSampleRateTrajectory
Store trajectory data for use with a variable sample rate.
|
JFrame.AccessibleJFrameFrame.AccessibleAWTFrameWindow.AccessibleAWTWindow, Window.TypeContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyGRAPH_ADD_EVENT, GRAPH_REMOVE_EVENTaccessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabledCROSSHAIR_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_CURSORBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTDISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSEABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
TrajectoryPlot(String caption,
org.djunits.value.vdouble.scalar.Duration sampleInterval,
List<Lane> path,
org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator)
Create a new TrajectoryPlot.
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(ActionEvent e) |
protected void |
addData(LaneBasedGTU gtu,
Lane lane,
double posOnLane)
Add data for a GTU on a lane to this graph.
|
protected org.jfree.chart.JFreeChart |
createChart(JFrame container)
Create the visualization.
|
double |
getCumulativeLength(int index)
Retrieve the cumulative length of the sampled path at the end of a path element.
|
org.jfree.data.DomainOrder |
getDomainOrder() |
GraphType |
getGraphType()
Return the graph type.
|
org.jfree.data.general.DatasetGroup |
getGroup() |
int |
getItemCount(int series) |
org.djunits.value.vdouble.scalar.Time |
getMaximumTime() |
org.djunits.value.vdouble.scalar.Duration |
getSampleInterval() |
int |
getSeriesCount() |
Comparable<Integer> |
getSeriesKey(int series) |
Number |
getX(int series,
int item) |
double |
getXValue(int series,
int item) |
Number |
getY(int series,
int item) |
double |
getYValue(int series,
int item) |
int |
indexOf(Comparable seriesKey) |
void |
notify(nl.tudelft.simulation.event.EventInterface event) |
void |
reGraph()
Force redrawing of the graph.
|
void |
sample()
Sample all the GTUs on the observed lanes.
|
void |
setGroup(org.jfree.data.general.DatasetGroup group) |
void |
setMaximumTime(org.djunits.value.vdouble.scalar.Time maximumTime) |
String |
toString() |
addChangeListener, addViewer, generatePNG, getCaption, getId, getListenerList, getPath, notifyListeners, removeChangeListener, setChartaddImpl, 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, updateaddNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedaddPropertyChangeListener, 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, toFrontadd, 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, validateTreeaction, 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, transferFocusUpCycleclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddChangeListener, removeChangeListenergetFont, postEventpublic TrajectoryPlot(String caption, org.djunits.value.vdouble.scalar.Duration sampleInterval, List<Lane> path, org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator)
caption - String; the text to show above the TrajectoryPlotsampleInterval - DoubleScalarRel<TimeUnit>; the time between samples of this TrajectoryPlot, or null in which
case the GTUs are sampled whenever they fire a MOVE_EVENTpath - ArrayList<Lane>; the series of Lanes that will provide the data for this TrajectoryPlotsimulator - OTSDEVSSimulatorInterface; the simulatorpublic final org.djunits.value.vdouble.scalar.Duration getSampleInterval()
public final double getCumulativeLength(int index)
index - int; the index of the path element; if -1, the total length of the path is returnedpublic final org.djunits.value.vdouble.scalar.Time getMaximumTime()
public final void setMaximumTime(org.djunits.value.vdouble.scalar.Time maximumTime)
maximumTime - set maximumTimepublic final GraphType getGraphType()
getGraphType in class AbstractOTSPlotpublic void sample()
public void notify(nl.tudelft.simulation.event.EventInterface event)
throws RemoteException
notify in interface nl.tudelft.simulation.event.EventListenerInterfaceRemoteExceptionprotected org.jfree.chart.JFreeChart createChart(JFrame container)
createChart in class AbstractOTSPlotcontainer - JFrame; the JFrame that will be filled with chart and the status labelpublic final void reGraph()
reGraph in interface LaneBasedGTUSamplerreGraph in class AbstractOTSPlotpublic void actionPerformed(ActionEvent e)
actionPerformed in interface ActionListenerprotected final void addData(LaneBasedGTU gtu, Lane lane, double posOnLane)
gtu - the gtu to add the data forlane - the lane on which the GTU is registeredposOnLane - the position on the lane as a double si Lengthpublic final int getSeriesCount()
getSeriesCount in interface org.jfree.data.general.SeriesDatasetpublic final Comparable<Integer> getSeriesKey(int series)
getSeriesKey in interface org.jfree.data.general.SeriesDatasetpublic final int indexOf(Comparable seriesKey)
indexOf in interface org.jfree.data.general.SeriesDatasetpublic final org.jfree.data.general.DatasetGroup getGroup()
getGroup in interface org.jfree.data.general.Datasetpublic final void setGroup(org.jfree.data.general.DatasetGroup group)
setGroup in interface org.jfree.data.general.Datasetpublic final org.jfree.data.DomainOrder getDomainOrder()
getDomainOrder in interface org.jfree.data.xy.XYDatasetpublic final int getItemCount(int series)
getItemCount in interface org.jfree.data.xy.XYDatasetpublic final Number getX(int series, int item)
getX in interface org.jfree.data.xy.XYDatasetpublic final double getXValue(int series,
int item)
getXValue in interface org.jfree.data.xy.XYDatasetpublic final Number getY(int series, int item)
getY in interface org.jfree.data.xy.XYDatasetpublic final double getYValue(int series,
int item)
getYValue in interface org.jfree.data.xy.XYDatasetCopyright © 2014–2016 Delft University of Technology. All rights reserved.