Package org.opentrafficsim.swing.script
Class AbstractSimulationScript
java.lang.Object
org.opentrafficsim.swing.script.AbstractSimulationScript
- All Implemented Interfaces:
java.io.Serializable,java.util.EventListener,Checkable,EventListenerInterface
public abstract class AbstractSimulationScript extends java.lang.Object implements EventListenerInterface, Checkable
Template for simulation script. This class allows the user to run a single visualized simulation, or to batch-run the same
model. Parameters can be given through the command-line using djutils-ext. Fields can be added to sub-classes using the
@Options and similar annotations. Default values of the properties in this abstract class can be overwritten by the
sub-class using CliUtil.changeDefaultValue().
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 9 apr. 2018
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSimulationScript(java.lang.String name, java.lang.String description)Constructor. -
Method Summary
Modifier and Type Method Description protected voidaddTabs(OTSSimulatorInterface sim, OTSSimulationApplication<?> animation)Adds tabs to the animation.protected voidanimateNetwork(OTSNetwork net)Creates animations for nodes, links and lanes.voidcheck()GTUColorergetGtuColorer()Returns the GTU colorer.OTSRoadNetworkgetNetwork()Returns the network.longgetSeed()Returns the seed.DurationgetSimulationTime()Returns the simulation time.OTSSimulatorInterfacegetSimulator()Returns the simulator.TimegetStartTime()Returns the start time.DurationgetWarmupTime()Returns the warm-up time.booleanisAutorun()Returns whether to autorun.voidnotify(EventInterface event)protected voidonSimulationEnd()Method that is called when the simulation has ended.protected voidsetAnimationToggles(OTSAnimationPanel animation)Sets the animation toggles.voidsetGtuColorer(GTUColorer colorer)Set GTU colorer.protected voidsetupDemo(OTSAnimationPanel animationPanel, OTSRoadNetwork net)Method that is called when the animation has been created, to add components for a demo.protected abstract OTSRoadNetworksetupSimulation(OTSSimulatorInterface sim)Sets up the simulation based on provided properties.voidstart()Starts the simulation.
-
Constructor Details
-
AbstractSimulationScript
protected AbstractSimulationScript(java.lang.String name, java.lang.String description)Constructor.- Parameters:
name- String; namedescription- String; description
-
-
Method Details
-
getSeed
public long getSeed()Returns the seed.- Returns:
- long; seed
-
getStartTime
Returns the start time.- Returns:
- Time; start time
-
getWarmupTime
Returns the warm-up time.- Returns:
- Duration; warm-up time
-
getSimulationTime
Returns the simulation time.- Returns:
- Duration; simulation time
-
isAutorun
public boolean isAutorun()Returns whether to autorun.- Returns:
- boolean; whether to autorun
-
setGtuColorer
Set GTU colorer.- Parameters:
colorer- GTUColorer; GTU colorer
-
getGtuColorer
Returns the GTU colorer.- Returns:
- returns the GTU colorer
-
check
public void check() throws java.lang.Exception -
start
public final void start() throws java.lang.ExceptionStarts the simulation.- Throws:
java.lang.Exception- on any exception
-
notify
- Specified by:
notifyin interfaceEventListenerInterface- Throws:
java.rmi.RemoteException
-
getSimulator
Returns the simulator.- Returns:
- OTSSimulatorInterface; simulator
-
getNetwork
Returns the network.- Returns:
- OTSNetwork; network
-
animateNetwork
Creates animations for nodes, links and lanes. This can be used if the network is not read from XML.- Parameters:
net- OTSNetwork; network
-
addTabs
Adds tabs to the animation. May be overridden.- Parameters:
sim- OTSSimulatorInterface; simulatoranimation- OTSSimulationApplication<?>; animation to add tabs to
-
onSimulationEnd
protected void onSimulationEnd()Method that is called when the simulation has ended. This can be used to store data. -
setupDemo
Method that is called when the animation has been created, to add components for a demo.- Parameters:
animationPanel- OTSAnimationPanel; animation panelnet- OTSNetwork; network
-
setAnimationToggles
Sets the animation toggles. May be overridden.- Parameters:
animation- OTSAnimationPanel; animation to set the toggle on
-
setupSimulation
protected abstract OTSRoadNetwork setupSimulation(OTSSimulatorInterface sim) throws java.lang.ExceptionSets up the simulation based on provided properties. Properties can be obtained withgetProperty(). Setting up a simulation should at least create a network and some demand. Additionally this may setup traffic control, sampling, etc.- Parameters:
sim- OTSSimulatorInterface; simulator- Returns:
- OTSNetwork; network
- Throws:
java.lang.Exception- on any exception
-