Package org.opentrafficsim.core.dsol
Class OTSAnimator
- java.lang.Object
-
- org.djutils.event.EventProducer
-
- nl.tudelft.simulation.dsol.simulators.Simulator<T>
-
- nl.tudelft.simulation.dsol.simulators.DEVSSimulator<T>
-
- nl.tudelft.simulation.dsol.simulators.DEVSAnimator<T>
-
- nl.tudelft.simulation.dsol.simulators.DEVSRealTimeAnimator<Duration>
-
- org.opentrafficsim.core.dsol.OTSAnimator
-
- All Implemented Interfaces:
Serializable
,Runnable
,Remote
,AnimatorInterface
,DEVSSimulatorInterface<Duration>
,SimulatorInterface<Duration>
,Contextualized
,EventProducerInterface
,OTSAnimatorInterface
,OTSSimulatorInterface
- Direct Known Subclasses:
OTSLoggingAnimator
public class OTSAnimator extends DEVSRealTimeAnimator<Duration> implements OTSAnimatorInterface, Serializable
Construct a DSOL DEVSRealTimeAnimator the easy way.Copyright (c) 2013-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.$LastChangedDate: 2018-10-30 14:03:57 +0100 (Tue, 30 Oct 2018) $, @version $Revision: 4727 $, by $Author: pknoppers $, initial version 11 mei 2015
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.simulators.DEVSRealTimeAnimator
DEVSRealTimeAnimator.TimeDouble, DEVSRealTimeAnimator.TimeDoubleUnit, DEVSRealTimeAnimator.TimeFloat, DEVSRealTimeAnimator.TimeFloatUnit, DEVSRealTimeAnimator.TimeLong
-
Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
Simulator.SimulatorWorkerThread
-
Nested classes/interfaces inherited from interface nl.tudelft.simulation.dsol.simulators.AnimatorInterface
AnimatorInterface.AnimationThread
-
-
Field Summary
-
Fields inherited from class nl.tudelft.simulation.dsol.simulators.DEVSRealTimeAnimator
BACKLOG_EVENT, CHANGE_SPEED_FACTOR_EVENT
-
Fields inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
eventList
-
Fields inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
model, replication, replicationState, runflag, runState, runUntilIncluding, runUntilTime, semaphore, simulatorTime, worker
-
Fields inherited from class org.djutils.event.EventProducer
eventProducerImpl
-
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.AnimatorInterface
ANIMATION_DELAY_CHANGED_EVENT, DEFAULT_ANIMATION_DELAY, UPDATE_ANIMATION_EVENT
-
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
EVENTLIST_CHANGED_EVENT
-
Fields inherited from interface org.djutils.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
-
Fields inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
START_EVENT, STARTING_EVENT, STOP_EVENT, STOPPING_EVENT, TIME_CHANGED_EVENT
-
-
Constructor Summary
Constructors Constructor Description OTSAnimator(Serializable simulatorId)
Construct an OTSAnimator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OTSReplication
getReplication()
void
initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model)
Initialize a simulation engine without animation; the easy way.void
initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, int replicationnr)
Initialize a simulation engine without animation and prescribed replication number; the easy way.void
initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, Map<String,StreamInterface> streams)
Initialize a simulation engine without animation; the easy way.void
initialize(OTSModelInterface model, OTSReplication replication)
Initialize a simulation engine without animation; the easy way.protected Duration
simulatorTimeForWallClockMillis(double wallMilliseconds)
String
toString()
-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVSRealTimeAnimator
getSpeedFactor, getUpdateMsec, isAnimation, isCatchup, run, setAnimation, setCatchup, setSpeedFactor, setSpeedFactor, setUpdateMsec
-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVSAnimator
getAnimationDelay, setAnimationDelay, updateAnimation
-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.DEVSSimulator
cancelEvent, endReplication, getEventList, initialize, isPauseOnError, scheduleEvent, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventRel, scheduleEventRel, scheduleEventRel, scheduleEventRel, setEventList, setPauseOnError, stepImpl
-
Methods inherited from class nl.tudelft.simulation.dsol.simulators.Simulator
addScheduledMethodOnInitialize, cleanUp, fireTimedEvent, getErrorLogLevel, getErrorStrategy, getLogger, getModel, getReplicationState, getRunState, getSimulatorTime, getSourceId, handleSimulationException, runUpTo, runUpToAndIncluding, setErrorLogLevel, setErrorStrategy, setErrorStrategy, start, startImpl, step, stop, stopImpl, warmup
-
Methods inherited from class org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.AnimatorInterface
getAnimationDelay, setAnimationDelay, updateAnimation
-
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.DEVSSimulatorInterface
cancelEvent, getEventList, isPauseOnError, scheduleEvent, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventAbs, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventNow, scheduleEventRel, scheduleEventRel, scheduleEventRel, scheduleEventRel, setEventList, setPauseOnError
-
Methods inherited from interface org.djutils.event.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypesWithListeners, hasListeners, numberOfListeners, removeListener
-
Methods inherited from interface org.opentrafficsim.core.dsol.OTSSimulatorInterface
getContext, getSimulatorAbsTime, getStartTimeAbs, runUpTo, runUpToAndIncluding, scheduleEventAbsTime, scheduleEventAbsTime
-
Methods inherited from interface nl.tudelft.simulation.dsol.simulators.SimulatorInterface
addScheduledMethodOnInitialize, cleanUp, endReplication, getErrorLogLevel, getErrorStrategy, getLogger, getModel, getReplicationState, getRunState, getSimulatorTime, getSourceId, initialize, isInitialized, isStartingOrRunning, isStoppingOrStopped, runUpTo, runUpToAndIncluding, setErrorLogLevel, setErrorStrategy, setErrorStrategy, start, step, stop
-
-
-
-
Constructor Detail
-
OTSAnimator
public OTSAnimator(Serializable simulatorId)
Construct an OTSAnimator.- Parameters:
simulatorId
- the id of the simulator to use in remote communication
-
-
Method Detail
-
initialize
public void initialize(OTSModelInterface model, OTSReplication replication) throws SimRuntimeException
Initialize a simulation engine without animation; the easy way. PauseOnError is set to true;- Specified by:
initialize
in interfaceOTSSimulatorInterface
- Parameters:
model
- OTSModelInterface; the simulation to executereplication
- OTSReplication; the replication with the run control parameters- Throws:
SimRuntimeException
- when e.g., warmupPeriod is larger than runLength
-
initialize
public void initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model) throws SimRuntimeException, NamingException
Initialize a simulation engine without animation; the easy way. PauseOnError is set to true;- Specified by:
initialize
in interfaceOTSSimulatorInterface
- Parameters:
startTime
- Time; the start time of the simulationwarmupPeriod
- Duration; the warm up period of the simulation (use new Duration(0, SECOND) if you don't know what this is)runLength
- Duration; the duration of the simulationmodel
- OTSModelInterface; the simulation to execute- Throws:
SimRuntimeException
- when e.g., warmupPeriod is larger than runLengthNamingException
- when the context for the replication cannot be created
-
initialize
public void initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, Map<String,StreamInterface> streams) throws SimRuntimeException, NamingException
Initialize a simulation engine without animation; the easy way. PauseOnError is set to true;- Parameters:
startTime
- Time; the start time of the simulationwarmupPeriod
- Duration; the warm up period of the simulation (use new Duration(0, SECOND) if you don't know what this is)runLength
- Duration; the duration of the simulationmodel
- OTSModelInterface; the simulation to executestreams
- Map<String, StreamInterface>; streams- Throws:
SimRuntimeException
- when e.g., warmupPeriod is larger than runLengthNamingException
- when the context for the replication cannot be created
-
initialize
public void initialize(Time startTime, Duration warmupPeriod, Duration runLength, OTSModelInterface model, int replicationnr) throws SimRuntimeException, NamingException
Initialize a simulation engine without animation and prescribed replication number; the easy way. PauseOnError is set to true;- Specified by:
initialize
in interfaceOTSSimulatorInterface
- Parameters:
startTime
- Time; the start time of the simulationwarmupPeriod
- Duration; the warm up period of the simulation (use new Duration(0, SECOND) if you don't know what this is)runLength
- Duration; the duration of the simulationmodel
- OTSModelInterface; the simulation to executereplicationnr
- int; the replication number- Throws:
SimRuntimeException
- when e.g., warmupPeriod is larger than runLengthNamingException
- when context for the animation cannot be created
-
simulatorTimeForWallClockMillis
protected Duration simulatorTimeForWallClockMillis(double wallMilliseconds)
- Specified by:
simulatorTimeForWallClockMillis
in classDEVSRealTimeAnimator<Duration>
-
getReplication
public final OTSReplication getReplication()
- Specified by:
getReplication
in interfaceOTSSimulatorInterface
- Specified by:
getReplication
in interfaceSimulatorInterface<Duration>
- Overrides:
getReplication
in classSimulator<Duration>
-
-