Eclipse SUMO - Simulation of Urban MObility
|
Writes the switch times of a tls into a file when the tls switches. More...
#include <Command_SaveTLSSwitchStates.h>
Public Member Functions | |
Command_SaveTLSSwitchStates (const MSTLLogicControl::TLSLogicVariants &logics, OutputDevice &od) | |
Constructor. | |
virtual SUMOTime | shiftTime (SUMOTime, SUMOTime, SUMOTime) |
Reschedule or deschedule the command when quick-loading state. | |
~Command_SaveTLSSwitchStates () | |
Destructor. | |
Derived from Command | |
SUMOTime | execute (SUMOTime currentTime) |
Writes the state of the tls if a change occurred. | |
Data Fields | |
int | priority = 0 |
Private Member Functions | |
Command_SaveTLSSwitchStates (const Command_SaveTLSSwitchStates &) | |
Invalidated copy constructor. | |
Command_SaveTLSSwitchStates & | operator= (const Command_SaveTLSSwitchStates &) |
Invalidated assignment operator. | |
Private Attributes | |
const MSTLLogicControl::TLSLogicVariants & | myLogics |
The traffic light logic to use. | |
OutputDevice & | myOutputDevice |
The device to write to. | |
std::string | myPreviousProgramID |
Storage for prior sub-id. | |
std::string | myPreviousState |
Storage for prior state. | |
Writes the switch times of a tls into a file when the tls switches.
Definition at line 46 of file Command_SaveTLSSwitchStates.h.
Command_SaveTLSSwitchStates::Command_SaveTLSSwitchStates | ( | const MSTLLogicControl::TLSLogicVariants & | logics, |
OutputDevice & | od | ||
) |
Constructor.
[in] | tlls | The logic to write state of |
[in] | od | The output device to write the state into |
Definition at line 35 of file Command_SaveTLSSwitchStates.cpp.
References MSEventControl::addEvent(), MSNet::getEndOfTimestepEvents(), MSNet::getInstance(), myOutputDevice, and OutputDevice::writeXMLHeader().
Command_SaveTLSSwitchStates::~Command_SaveTLSSwitchStates | ( | ) |
Destructor.
Definition at line 43 of file Command_SaveTLSSwitchStates.cpp.
|
private |
Invalidated copy constructor.
Writes the state of the tls if a change occurred.
If the state or the active program has changed, the state is written to the output device.
[in] | currentTime | The current simulation time |
Implements Command.
Definition at line 48 of file Command_SaveTLSSwitchStates.cpp.
References OutputDevice::closeTag(), DELTA_T, MSTLLogicControl::TLSLogicVariants::getActive(), MSTrafficLightLogic::getCurrentPhaseDef(), MSTrafficLightLogic::getCurrentPhaseIndex(), Named::getID(), MSPhaseDefinition::getName(), MSTrafficLightLogic::getProgramID(), MSPhaseDefinition::getState(), myLogics, myOutputDevice, myPreviousProgramID, myPreviousState, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_ATTR_NAME, SUMO_ATTR_PHASE, SUMO_ATTR_PROGRAMID, SUMO_ATTR_STATE, SUMO_ATTR_TIME, time2string(), and OutputDevice::writeAttr().
|
private |
Invalidated assignment operator.
Reschedule or deschedule the command when quick-loading state.
The implementations should return -1 if the command shall not be re-scheduled, or a value >= 0 that describe the new time at which the command shall be executed again.
[in] | currentTime | The current simulation time |
[in] | execTime | The time at which the command would have been executed |
[in] | newTime | The simulation time at which the simulation is restarted |
Reimplemented in MSTrafficLightLogic::SwitchCommand, and MSCalibrator::CalibratorCommand.
|
private |
The traffic light logic to use.
Definition at line 83 of file Command_SaveTLSSwitchStates.h.
Referenced by execute().
|
private |
The device to write to.
Definition at line 80 of file Command_SaveTLSSwitchStates.h.
Referenced by Command_SaveTLSSwitchStates(), and execute().
|
private |
Storage for prior sub-id.
Definition at line 89 of file Command_SaveTLSSwitchStates.h.
Referenced by execute().
|
private |
Storage for prior state.
Definition at line 86 of file Command_SaveTLSSwitchStates.h.
Referenced by execute().
|
inherited |
Definition at line 87 of file Command.h.
Referenced by MSTransportableDevice_FCDReplay::MovePedestrians::MovePedestrians(), and MSTrafficLightLogic::SwitchCommand::SwitchCommand().