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 Details

    • AbstractSimulationScript

      protected AbstractSimulationScript​(java.lang.String name, java.lang.String description)
      Constructor.
      Parameters:
      name - String; name
      description - String; description
  • Method Details

    • getSeed

      public long getSeed()
      Returns the seed.
      Returns:
      long; seed
    • getStartTime

      public Time getStartTime()
      Returns the start time.
      Returns:
      Time; start time
    • getWarmupTime

      public Duration getWarmupTime()
      Returns the warm-up time.
      Returns:
      Duration; warm-up time
    • getSimulationTime

      public Duration getSimulationTime()
      Returns the simulation time.
      Returns:
      Duration; simulation time
    • isAutorun

      public boolean isAutorun()
      Returns whether to autorun.
      Returns:
      boolean; whether to autorun
    • setGtuColorer

      public final void setGtuColorer​(GTUColorer colorer)
      Set GTU colorer.
      Parameters:
      colorer - GTUColorer; GTU colorer
    • getGtuColorer

      public final GTUColorer getGtuColorer()
      Returns the GTU colorer.
      Returns:
      returns the GTU colorer
    • check

      public void check() throws java.lang.Exception
      Specified by:
      check in interface Checkable
      Throws:
      java.lang.Exception
    • start

      public final void start() throws java.lang.Exception
      Starts the simulation.
      Throws:
      java.lang.Exception - on any exception
    • notify

      public void notify​(EventInterface event) throws java.rmi.RemoteException
      Specified by:
      notify in interface EventListenerInterface
      Throws:
      java.rmi.RemoteException
    • getSimulator

      public final OTSSimulatorInterface getSimulator()
      Returns the simulator.
      Returns:
      OTSSimulatorInterface; simulator
    • getNetwork

      public final OTSRoadNetwork getNetwork()
      Returns the network.
      Returns:
      OTSNetwork; network
    • animateNetwork

      protected void animateNetwork​(OTSNetwork net)
      Creates animations for nodes, links and lanes. This can be used if the network is not read from XML.
      Parameters:
      net - OTSNetwork; network
    • addTabs

      protected void addTabs​(OTSSimulatorInterface sim, OTSSimulationApplication<?> animation)
      Adds tabs to the animation. May be overridden.
      Parameters:
      sim - OTSSimulatorInterface; simulator
      animation - 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

      protected void setupDemo​(OTSAnimationPanel animationPanel, OTSRoadNetwork net)
      Method that is called when the animation has been created, to add components for a demo.
      Parameters:
      animationPanel - OTSAnimationPanel; animation panel
      net - OTSNetwork; network
    • setAnimationToggles

      protected void setAnimationToggles​(OTSAnimationPanel animation)
      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.Exception
      Sets up the simulation based on provided properties. Properties can be obtained with getProperty(). 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