SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Command_SaveTLSSwitches Class Reference

Writes information about the green durations of a tls. More...

#include <Command_SaveTLSSwitches.h>

Inheritance diagram for Command_SaveTLSSwitches:
Command

Public Member Functions

 Command_SaveTLSSwitches (const MSTLLogicControl::TLSLogicVariants &logics, OutputDevice &od)
 Constructor. More...
 
 ~Command_SaveTLSSwitches ()
 Destructor. More...
 
Derived from Command
SUMOTime execute (SUMOTime currentTime)
 Writes the output if a change occured. More...
 

Private Member Functions

 Command_SaveTLSSwitches (const Command_SaveTLSSwitches &)
 Invalidated copy constructor. More...
 
Command_SaveTLSSwitchesoperator= (const Command_SaveTLSSwitches &)
 Invalidated assignment operator. More...
 

Private Attributes

const
MSTLLogicControl::TLSLogicVariants
myLogics
 The traffic light logic to use. More...
 
OutputDevicemyOutputDevice
 The device to write to. More...
 
std::map< int, SUMOTimemyPreviousLinkStates
 Storage for prior states; map from signal group to last green time begin. More...
 

Detailed Description

Writes information about the green durations of a tls.

Todo:
Revalidate this - as tls are not seting the link information directly ater being switched, the computed information may be delayed

Definition at line 56 of file Command_SaveTLSSwitches.h.

Constructor & Destructor Documentation

Command_SaveTLSSwitches::Command_SaveTLSSwitches ( const MSTLLogicControl::TLSLogicVariants logics,
OutputDevice od 
)

Constructor.

Parameters
[in]tllsThe logic to write state of
[in]odThe output device to write the state into

Definition at line 49 of file Command_SaveTLSSwitches.cpp.

References MSEventControl::ADAPT_AFTER_EXECUTION, MSEventControl::addEvent(), MSNet::getEndOfTimestepEvents(), MSNet::getInstance(), myOutputDevice, and OutputDevice::writeXMLHeader().

Command_SaveTLSSwitches::~Command_SaveTLSSwitches ( )

Destructor.

Definition at line 57 of file Command_SaveTLSSwitches.cpp.

Command_SaveTLSSwitches::Command_SaveTLSSwitches ( const Command_SaveTLSSwitches )
private

Invalidated copy constructor.

Member Function Documentation

SUMOTime Command_SaveTLSSwitches::execute ( SUMOTime  currentTime)
virtual

Writes the output if a change occured.

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".

Parameters
[in]currentTimeThe current simulation time
Returns
Always DELTA_T (will be executed in next time step)
See also
Command

Implements Command.

Definition at line 62 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().

Command_SaveTLSSwitches& Command_SaveTLSSwitches::operator= ( const Command_SaveTLSSwitches )
private

Invalidated assignment operator.

Field Documentation

const MSTLLogicControl::TLSLogicVariants& Command_SaveTLSSwitches::myLogics
private

The traffic light logic to use.

Definition at line 96 of file Command_SaveTLSSwitches.h.

Referenced by execute().

OutputDevice& Command_SaveTLSSwitches::myOutputDevice
private

The device to write to.

Definition at line 93 of file Command_SaveTLSSwitches.h.

Referenced by Command_SaveTLSSwitches(), and execute().

std::map<int, SUMOTime> Command_SaveTLSSwitches::myPreviousLinkStates
private

Storage for prior states; map from signal group to last green time begin.

Definition at line 99 of file Command_SaveTLSSwitches.h.

Referenced by execute().


The documentation for this class was generated from the following files: