Eclipse SUMO - Simulation of Urban MObility
|
Writes information about the green durations of a tls. More...
#include <Command_SaveTLSSwitches.h>
Public Member Functions | |
Command_SaveTLSSwitches (const MSTLLogicControl::TLSLogicVariants &logics, OutputDevice &od) | |
Constructor. | |
virtual SUMOTime | shiftTime (SUMOTime, SUMOTime, SUMOTime) |
Reschedule or deschedule the command when quick-loading state. | |
~Command_SaveTLSSwitches () | |
Destructor. | |
Derived from Command | |
SUMOTime | execute (SUMOTime currentTime) |
Writes the output if a change occurred. | |
Data Fields | |
int | priority = 0 |
Private Member Functions | |
Command_SaveTLSSwitches (const Command_SaveTLSSwitches &) | |
Invalidated copy constructor. | |
Command_SaveTLSSwitches & | operator= (const Command_SaveTLSSwitches &) |
Invalidated assignment operator. | |
Private Attributes | |
const MSTLLogicControl::TLSLogicVariants & | myLogics |
The traffic light logic to use. | |
OutputDevice & | myOutputDevice |
The device to write to. | |
std::map< int, SUMOTime > | myPreviousLinkStates |
Storage for prior states; map from signal group to last green time begin. | |
Writes information about the green durations of a tls.
Definition at line 46 of file Command_SaveTLSSwitches.h.
Command_SaveTLSSwitches::Command_SaveTLSSwitches | ( | 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 38 of file Command_SaveTLSSwitches.cpp.
References MSEventControl::addEvent(), MSNet::getEndOfTimestepEvents(), MSNet::getInstance(), myOutputDevice, and OutputDevice::writeXMLHeader().
Command_SaveTLSSwitches::~Command_SaveTLSSwitches | ( | ) |
Destructor.
Definition at line 46 of file Command_SaveTLSSwitches.cpp.
|
private |
Invalidated copy constructor.
Writes the output if a change occurred.
Called in each tme step, this class computes which link have red since the last tls switch and writes the information about their green duration into the given stream.
Information whether a link had green and since when is stored in "myPreviousLinkStates".
[in] | currentTime | The current simulation time |
Implements Command.
Definition at line 51 of file Command_SaveTLSSwitches.cpp.
References DELTA_T, MSTLLogicControl::TLSLogicVariants::getActive(), MSTrafficLightLogic::getCurrentPhaseDef(), Named::getID(), MSLink::getLane(), MSTrafficLightLogic::getLanesAt(), MSTrafficLightLogic::getLinks(), MSTrafficLightLogic::getProgramID(), MSPhaseDefinition::getState(), LINKSTATE_TL_GREEN_MAJOR, LINKSTATE_TL_GREEN_MINOR, myLogics, myOutputDevice, myPreviousLinkStates, and time2string().
|
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 86 of file Command_SaveTLSSwitches.h.
Referenced by execute().
|
private |
The device to write to.
Definition at line 83 of file Command_SaveTLSSwitches.h.
Referenced by Command_SaveTLSSwitches(), and execute().
|
private |
Storage for prior states; map from signal group to last green time begin.
Definition at line 89 of file Command_SaveTLSSwitches.h.
Referenced by execute().
|
inherited |
Definition at line 87 of file Command.h.
Referenced by MSTransportableDevice_FCDReplay::MovePedestrians::MovePedestrians(), and MSTrafficLightLogic::SwitchCommand::SwitchCommand().