SUMO - Simulation of Urban MObility
|
Storage for all programs of a single tls. More...
#include <MSTLLogicControl.h>
Public Member Functions | |
void | addLink (MSLink *link, MSLane *lane, unsigned int pos) |
bool | addLogic (const std::string &programID, MSTrafficLightLogic *logic, bool netWasLoaded, bool isNewDefault=true) |
Adds a logic (program) More... | |
void | addSwitchCommand (OnSwitchAction *c) |
bool | checkOriginalTLS () const |
Verifies traffic lights loaded from the network. More... | |
void | executeOnSwitchActions () const |
MSTrafficLightLogic * | getActive () const |
std::vector < MSTrafficLightLogic * > | getAllLogics () const |
MSTrafficLightLogic * | getLogic (const std::string &programID) const |
MSTrafficLightLogic * | getLogicInstantiatingOff (MSTLLogicControl &tlc, const std::string &programID) |
bool | isActive (const MSTrafficLightLogic *tl) const |
void | saveInitialStates () |
void | switchTo (MSTLLogicControl &tlc, const std::string &programID) |
TLSLogicVariants () | |
Constructor. More... | |
~TLSLogicVariants () | |
Destructor. More... | |
Private Member Functions | |
TLSLogicVariants & | operator= (const TLSLogicVariants &) |
Invalidated assignment operator. More... | |
TLSLogicVariants (const TLSLogicVariants &) | |
Invalidated copy constructor. More... | |
Private Attributes | |
MSTrafficLightLogic * | myCurrentProgram |
The currently used program. More... | |
std::map< MSLink *, LinkState > | myOriginalLinkStates |
Originally loaded link states. More... | |
std::vector< OnSwitchAction * > | mySwitchActions |
The list of actions/commands to execute on switch. More... | |
std::map< std::string, MSTrafficLightLogic * > | myVariants |
A map of subkeys to programs. More... | |
Storage for all programs of a single tls.
This class joins all programs of a single tls.
Definition at line 86 of file MSTLLogicControl.h.
MSTLLogicControl::TLSLogicVariants::TLSLogicVariants | ( | ) |
Constructor.
Definition at line 60 of file MSTLLogicControl.cpp.
MSTLLogicControl::TLSLogicVariants::~TLSLogicVariants | ( | ) |
Destructor.
Definition at line 65 of file MSTLLogicControl.cpp.
|
private |
Invalidated copy constructor.
Definition at line 207 of file MSTLLogicControl.cpp.
Referenced by NLHandler::addConnection().
bool MSTLLogicControl::TLSLogicVariants::addLogic | ( | const std::string & | programID, |
MSTrafficLightLogic * | logic, | ||
bool | netWasLoaded, | ||
bool | isNewDefault = true |
||
) |
Adds a logic (program)
[in] | programID | The sub-id of this program |
[in] | logic | The logic to add |
[in] | netWasLoaded | Whether the network has already been loaded (the links have been assigned) |
[in] | isNewDefault | Whether this logic shall be treated as the currently active logic |
Definition at line 104 of file MSTLLogicControl.cpp.
References MSTrafficLightLogic::adaptLinkInformationFrom(), MSTrafficLightLogic::getID(), MSNet::getInstance(), MSTrafficLightLogic::getLinks(), MSTrafficLightLogic::getPhase(), MSPhaseDefinition::getState(), and MSTrafficLightLogic::setTrafficLightSignals().
Referenced by MSTLLogicControl::add(), and TraCIServerAPI_TLS::processSet().
void MSTLLogicControl::TLSLogicVariants::addSwitchCommand | ( | OnSwitchAction * | c | ) |
Definition at line 163 of file MSTLLogicControl.cpp.
Referenced by Command_SaveTLCoupledDet::Command_SaveTLCoupledDet().
bool MSTLLogicControl::TLSLogicVariants::checkOriginalTLS | ( | ) | const |
Verifies traffic lights loaded from the network.
Comparse the phase state sizes of each phase with the accoring tls' number of controlled links.
Definition at line 77 of file MSTLLogicControl.cpp.
References WRITE_ERROR.
void MSTLLogicControl::TLSLogicVariants::executeOnSwitchActions | ( | ) | const |
Definition at line 199 of file MSTLLogicControl.cpp.
Referenced by MSSimpleTrafficLightLogic::changeStepAndDuration(), MSTrafficLightLogic::SwitchCommand::execute(), and TraCIServerAPI_TLS::processSet().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getActive | ( | ) | const |
Definition at line 186 of file MSTLLogicControl.cpp.
Referenced by NLHandler::addConnection(), NLDetectorBuilder::buildE2Detector(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSTLLogicControl::initWautSwitch(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_TLS::processSet(), and MSFullExport::writeTLS().
std::vector< MSTrafficLightLogic * > MSTLLogicControl::TLSLogicVariants::getAllLogics | ( | ) | const |
Definition at line 169 of file MSTLLogicControl.cpp.
Referenced by GUITrafficLightLogicWrapper::getPopUpMenu(), GUIViewTraffic::onGamingClick(), TraCIServerAPI_TLS::processGet(), and GUITrafficLightLogicWrapper::switchTLSLogic().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getLogic | ( | const std::string & | programID | ) | const |
Definition at line 135 of file MSTLLogicControl.cpp.
Referenced by TraCIServerAPI_TLS::processSet().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff | ( | MSTLLogicControl & | tlc, |
const std::string & | programID | ||
) |
Definition at line 144 of file MSTLLogicControl.cpp.
Referenced by MSTLLogicControl::initWautSwitch().
bool MSTLLogicControl::TLSLogicVariants::isActive | ( | const MSTrafficLightLogic * | tl | ) | const |
Definition at line 180 of file MSTLLogicControl.cpp.
Referenced by GUITrafficLightLogicWrapper::getPopUpMenu().
|
private |
Invalidated assignment operator.
void MSTLLogicControl::TLSLogicVariants::saveInitialStates | ( | ) |
Definition at line 98 of file MSTLLogicControl.cpp.
void MSTLLogicControl::TLSLogicVariants::switchTo | ( | MSTLLogicControl & | tlc, |
const std::string & | programID | ||
) |
Definition at line 192 of file MSTLLogicControl.cpp.
Referenced by TraCIServerAPI_TLS::processSet().
|
private |
The currently used program.
Definition at line 133 of file MSTLLogicControl.h.
Originally loaded link states.
Definition at line 139 of file MSTLLogicControl.h.
|
private |
The list of actions/commands to execute on switch.
Definition at line 142 of file MSTLLogicControl.h.
|
private |
A map of subkeys to programs.
Definition at line 136 of file MSTLLogicControl.h.