![]() |
Eclipse 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, int pos) |
bool | addLogic (const std::string &programID, MSTrafficLightLogic *logic, bool netWasLoaded, bool isNewDefault=true) |
Adds a logic (program). In case of an error the logic gets deleted. | |
void | addSwitchCommand (OnSwitchAction *c) |
bool | checkOriginalTLS () const |
Verifies traffic lights loaded from the network. | |
void | executeOnSwitchActions () const |
MSTrafficLightLogic * | getActive () const |
std::vector< MSTrafficLightLogic * > | getAllLogics () const |
MSTrafficLightLogic * | getDefault () const |
return the default program (that last used program except TRACI_PROGRAM) | |
MSTrafficLightLogic * | getLogic (const std::string &programID) const |
MSTrafficLightLogic * | getLogicInstantiatingOff (MSTLLogicControl &tlc, const std::string &programID) |
void | ignoreLinkIndex (int pos) |
bool | isActive (const MSTrafficLightLogic *tl) const |
void | saveInitialStates () |
void | saveState (OutputDevice &out) |
void | setStateInstantiatingOnline (MSTLLogicControl &tlc, const std::string &state) |
void | switchTo (MSTLLogicControl &tlc, const std::string &programID) |
TLSLogicVariants () | |
Constructor. | |
~TLSLogicVariants () | |
Destructor. | |
Private Member Functions | |
TLSLogicVariants & | operator= (const TLSLogicVariants &) |
Invalidated assignment operator. | |
TLSLogicVariants (const TLSLogicVariants &) | |
Invalidated copy constructor. | |
Private Attributes | |
MSTrafficLightLogic * | myCurrentProgram |
The currently used program. | |
MSTrafficLightLogic * | myDefaultProgram |
The program that would be used in the absence of TraCI. | |
std::map< MSLink *, LinkState > | myOriginalLinkStates |
Originally loaded link states. | |
std::vector< OnSwitchAction * > | mySwitchActions |
The list of actions/commands to execute on switch. | |
std::map< std::string, MSTrafficLightLogic * > | myVariants |
A map of subkeys to programs. | |
Storage for all programs of a single tls.
This class joins all programs of a single tls.
Definition at line 85 of file MSTLLogicControl.h.
MSTLLogicControl::TLSLogicVariants::TLSLogicVariants | ( | ) |
Constructor.
Definition at line 51 of file MSTLLogicControl.cpp.
MSTLLogicControl::TLSLogicVariants::~TLSLogicVariants | ( | ) |
Destructor.
Definition at line 57 of file MSTLLogicControl.cpp.
|
private |
Invalidated copy constructor.
Definition at line 251 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 case of an error the logic gets deleted.
[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::activateProgram(), MSTrafficLightLogic::adaptLinkInformationFrom(), Named::getID(), MSNet::getInstance(), MSTrafficLightLogic::getLinks(), MSTrafficLightLogic::getPhase(), MSPhaseDefinition::getState(), MSTrafficLightLogic::setTrafficLightSignals(), and TLF.
Referenced by MSTLLogicControl::add(), and LIBSUMO_NAMESPACE::TrafficLight::setProgramLogic().
void MSTLLogicControl::TLSLogicVariants::addSwitchCommand | ( | OnSwitchAction * | c | ) |
Definition at line 198 of file MSTLLogicControl.cpp.
Referenced by Command_SaveTLCoupledDet::Command_SaveTLCoupledDet().
bool MSTLLogicControl::TLSLogicVariants::checkOriginalTLS | ( | ) | const |
Verifies traffic lights loaded from the network.
Compare the phase state sizes of each phase with the according tls' number of controlled links.
Definition at line 69 of file MSTLLogicControl.cpp.
References TL, and WRITE_ERRORF.
void MSTLLogicControl::TLSLogicVariants::executeOnSwitchActions | ( | ) | const |
Definition at line 243 of file MSTLLogicControl.cpp.
Referenced by MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSTrafficLightLogic::SwitchCommand::execute(), MSActuatedTrafficLightLogic::loadState(), and LIBSUMO_NAMESPACE::TrafficLight::setProgramLogic().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getActive | ( | ) | const |
Definition at line 221 of file MSTLLogicControl.cpp.
Referenced by NLHandler::addConnection(), NLHandler::addE2Detector(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), LIBSUMO_NAMESPACE::TrafficLight::getControlledJunctions(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLanes(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), LIBSUMO_NAMESPACE::TrafficLight::getPhase(), LIBSUMO_NAMESPACE::TrafficLight::getPhaseName(), GUITrafficLightLogicWrapper::getPopUpMenu(), LIBSUMO_NAMESPACE::TrafficLight::getProgram(), LIBSUMO_NAMESPACE::TrafficLight::getRedYellowGreenState(), LIBSUMO_NAMESPACE::TrafficLight::getServedPersonCount(), MSTLLogicControl::initWautSwitch(), TraCIServerAPI_TrafficLight::processGet(), LIBSUMO_NAMESPACE::TrafficLight::setPhase(), LIBSUMO_NAMESPACE::TrafficLight::setPhaseDuration(), LIBSUMO_NAMESPACE::TrafficLight::setPhaseName(), and MSFullExport::writeTLS().
std::vector< MSTrafficLightLogic * > MSTLLogicControl::TLSLogicVariants::getAllLogics | ( | ) | const |
Definition at line 204 of file MSTLLogicControl.cpp.
Referenced by LIBSUMO_NAMESPACE::TrafficLight::getAllProgramLogics(), GUITrafficLightLogicWrapper::getPopUpMenu(), and GUITrafficLightLogicWrapper::switchTLSLogic().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getDefault | ( | ) | const |
return the default program (that last used program except TRACI_PROGRAM)
Definition at line 226 of file MSTLLogicControl.cpp.
Referenced by NLHandler::addPredecessorConstraint(), LIBSUMO_NAMESPACE::TrafficLight::getBlockingVehicles(), LIBSUMO_NAMESPACE::TrafficLight::getConstraints(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getPriorityVehicles(), LIBSUMO_NAMESPACE::TrafficLight::getRivalVehicles(), MSStateHandler::myStartElement(), NLHandler::myStartElement(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), and LIBSUMO_NAMESPACE::TrafficLight::swapConstraints().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getLogic | ( | const std::string & | programID | ) | const |
Definition at line 147 of file MSTLLogicControl.cpp.
Referenced by MSTLLogicControl::get(), and LIBSUMO_NAMESPACE::TrafficLight::setProgramLogic().
MSTrafficLightLogic * MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff | ( | MSTLLogicControl & | tlc, |
const std::string & | programID | ||
) |
Definition at line 156 of file MSTLLogicControl.cpp.
References TLF.
Referenced by MSTLLogicControl::initWautSwitch().
void MSTLLogicControl::TLSLogicVariants::ignoreLinkIndex | ( | int | pos | ) |
Definition at line 258 of file MSTLLogicControl.cpp.
Referenced by NLHandler::addConnection().
bool MSTLLogicControl::TLSLogicVariants::isActive | ( | const MSTrafficLightLogic * | tl | ) | const |
Definition at line 215 of file MSTLLogicControl.cpp.
Referenced by GUITrafficLightLogicWrapper::getPopUpMenu().
|
private |
Invalidated assignment operator.
void MSTLLogicControl::TLSLogicVariants::saveInitialStates | ( | ) |
Definition at line 90 of file MSTLLogicControl.cpp.
void MSTLLogicControl::TLSLogicVariants::saveState | ( | OutputDevice & | out | ) |
Definition at line 96 of file MSTLLogicControl.cpp.
void MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline | ( | MSTLLogicControl & | tlc, |
const std::string & | state | ||
) |
Definition at line 175 of file MSTLLogicControl.cpp.
References MSNet::createTLWrapper(), DELTA_T, MSNet::getCurrentTimeStep(), MSNet::getInstance(), STATIC, MSTLLogicControl::switchTo(), and TRACI_PROGRAM.
Referenced by LIBSUMO_NAMESPACE::TrafficLight::setRedYellowGreenState().
void MSTLLogicControl::TLSLogicVariants::switchTo | ( | MSTLLogicControl & | tlc, |
const std::string & | programID | ||
) |
Definition at line 232 of file MSTLLogicControl.cpp.
References MSTrafficLightLogic::deactivateProgram(), and MSNet::getInstance().
Referenced by LIBSUMO_NAMESPACE::TrafficLight::setProgram().
|
private |
The currently used program.
Definition at line 141 of file MSTLLogicControl.h.
|
private |
The program that would be used in the absence of TraCI.
Definition at line 144 of file MSTLLogicControl.h.
Originally loaded link states.
Definition at line 150 of file MSTLLogicControl.h.
|
private |
The list of actions/commands to execute on switch.
Definition at line 153 of file MSTLLogicControl.h.
|
private |
A map of subkeys to programs.
Definition at line 147 of file MSTLLogicControl.h.