Package org.opentrafficsim.swing.script
Class AbstractSimulationScript
java.lang.Object
org.opentrafficsim.swing.script.AbstractSimulationScript
- All Implemented Interfaces:
java.util.EventListener
,EventListenerInterface
,Checkable
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-2019 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
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSimulationScript(java.lang.String name, java.lang.String description)
Constructor. -
Method Summary
Modifier and Type Method Description protected void
addTabs(OTSSimulatorInterface sim, OTSSimulationApplication<?> animation)
Adds tabs to the animation.protected void
animateNetwork(OTSNetwork net)
Creates animations for nodes, links and lanes.void
check()
GTUColorer
getGtuColorer()
Returns the GTU colorer.OTSRoadNetwork
getNetwork()
Returns the network.long
getSeed()
Returns the seed.Duration
getSimulationTime()
Returns the simulation time.OTSSimulatorInterface
getSimulator()
Returns the simulator.Time
getStartTime()
Returns the start time.Duration
getWarmupTime()
Returns the warm-up time.boolean
isAutorun()
Returns whether to autorun.void
notify(EventInterface event)
protected void
onSimulationEnd()
Method that is called when the simulation has ended.protected void
setAnimationToggles(OTSAnimationPanel animation)
Sets the animation toggles.void
setGtuColorer(GTUColorer colorer)
Set GTU colorer.protected void
setupDemo(OTSAnimationPanel animationPanel, OTSRoadNetwork net)
Method that is called when the animation has been created, to add components for a demo.protected abstract OTSRoadNetwork
setupSimulation(OTSSimulatorInterface sim)
Sets up the simulation based on provided properties.void
start()
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:
notify
in 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
-