Class AbstractSimulationScript

java.lang.Object
org.opentrafficsim.swing.script.AbstractSimulationScript
All Implemented Interfaces:
EventListener, Checkable, EventListener

public abstract class AbstractSimulationScript extends Object implements EventListener, 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
  • Constructor Details

    • AbstractSimulationScript

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

    • getSeed

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

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

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

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

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

      public final void setGtuColorers(List<Colorer<? super Gtu>> colorers)
      Set GTU colorers.
      Parameters:
      colorers - GTU colorers
    • getGtuColorers

      public final List<Colorer<? super Gtu>> getGtuColorers()
      Returns the GTU colorers.
      Returns:
      returns the GTU colorers
    • getGtuMarkers

      Returns map of (non-default) GTU type markers. The default implementation of this method returns an empty map.
      Returns:
      map of GTU type markers
    • check

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

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

      public void notify(Event event)
      Specified by:
      notify in interface EventListener
    • getSimulator

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

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

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

      protected void addTabs(OtsSimulatorInterface sim, OtsSimulationApplication<?> animation)
      Adds tabs to the animation. May be overridden.
      Parameters:
      sim - simulator
      animation - 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 - animation panel
      net - network
    • setAnimationToggles

      protected void setAnimationToggles(OtsAnimationPanel animation)
      Sets the animation toggles. May be overridden.
      Parameters:
      animation - animation to set the toggle on
    • setupSimulation

      protected abstract RoadNetwork setupSimulation(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 - simulator
      Returns:
      network
      Throws:
      Exception - on any exception