Class AbstractSimulationScript

java.lang.Object
org.opentrafficsim.swing.script.AbstractSimulationScript
All Implemented Interfaces:
Serializable, Remote, EventListener, org.djutils.cli.Checkable, org.djutils.event.EventListener

public abstract class AbstractSimulationScript extends Object implements org.djutils.event.EventListener, org.djutils.cli.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-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
See Also:
  • Constructor Details

    • AbstractSimulationScript

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

    • getSeed

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

      public org.djunits.value.vdouble.scalar.Time getStartTime()
      Returns the start time.
      Returns:
      Time; start time
    • getWarmupTime

      public org.djunits.value.vdouble.scalar.Duration getWarmupTime()
      Returns the warm-up time.
      Returns:
      Duration; warm-up time
    • getSimulationTime

      public org.djunits.value.vdouble.scalar.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 Exception
      Specified by:
      check in interface org.djutils.cli.Checkable
      Throws:
      Exception
    • start

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

      public void notify(org.djutils.event.Event event) throws RemoteException
      Specified by:
      notify in interface org.djutils.event.EventListener
      Throws:
      RemoteException
    • getSimulator

      public final org.opentrafficsim.core.dsol.OtsSimulatorInterface getSimulator()
      Returns the simulator.
      Returns:
      OtsSimulatorInterface; simulator
    • getNetwork

      public final RoadNetwork getNetwork()
      Returns the network.
      Returns:
      Network; network
    • animateNetwork

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

      protected void addTabs(org.opentrafficsim.core.dsol.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, RoadNetwork net)
      Method that is called when the animation has been created, to add components for a demo.
      Parameters:
      animationPanel - OtsAnimationPanel; animation panel
      net - Network; 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 RoadNetwork setupSimulation(org.opentrafficsim.core.dsol.OtsSimulatorInterface sim) throws 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:
      Network; network
      Throws:
      Exception - on any exception