 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
38 const std::string&
id,
const std::string& programID,
const TrafficLightType logicType,
const Phases& phases,
40 const std::map<std::string, std::string>& parameters)
41 :
MSTrafficLightLogic(tlcontrol, id, programID, logicType, delay, parameters), myPhases(phases),
43 for (
int i = 0; i < (int)
myPhases.size(); i++) {
118 assert((
int)
myPhases.size() > givenStep);
149 assert(index < (
int)
myPhases.size());
151 for (
int i = 0; i < index; i++) {
166 for (
int i = 0; i < (int)
myPhases.size(); i++) {
171 if (testPos == pos) {
172 assert((
int)
myPhases.size() > (i + 1));
196 assert(step < (
int)phases.size());
205 for (
int i = 0; i < (int)
myPhases.size(); i++) {
SUMOTime myLastSwitch
Stores the timestep of the last on-switched of the phase.
virtual void addEvent(Command *operation, SUMOTime execTimeStep=-1)
Adds an Event.
Phases myPhases
The list of phases this logic uses.
const MSPhaseDefinition & getPhase(int givenstep) const
Returns the definition of the phase from the given position within the plan.
Class realising the switch between the traffic light phases.
const MSPhaseDefinition & getCurrentPhaseDef() const
Returns the definition of the current phase.
std::vector< MSPhaseDefinition * > Phases
Definition of a list of phases, being the junction logic.
MSEventControl * getBeginOfTimestepEvents()
Returns the event control for events executed at the begin of a time step.
int getPhaseNumber() const
Returns the number of phases.
void deschedule(MSTrafficLightLogic *tlLogic)
Marks this swicth as invalid (if the phase duration has changed, f.e.)
void setPhases(const Phases &phases, int index)
Replaces the phases and set the phase index.
SwitchCommand * mySwitchCommand
The current switch command.
void setStep(int step)
Forces a specific step.
MSPhasedTrafficLightLogic(MSTLLogicControl &tlcontrol, const std::string &id, const std::string &programID, const TrafficLightType logicType, const Phases &phases, int step, SUMOTime delay, const std::map< std::string, std::string > ¶meters)
Constructor.
void proceedToNextStep()
Proceed to the next step.
SUMOTime duration
The duration of the phase.
SUMOTime getPhaseIndexAtTime(SUMOTime simStep) const
Returns the index of the logic at the given simulation step.
void deletePhases()
frees memory responsibilities
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
const Phases & getPhases() const
Returns the phases of this tls program.
~MSPhasedTrafficLightLogic()
Destructor.
The parent class for traffic light logics.
int getCurrentPhaseIndex() const
Returns the current index within the program.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
int getIndexFromOffset(SUMOTime offset) const
Returns the step (the phasenumber) of a given position of the cycle.
void changeStepAndDuration(MSTLLogicControl &tlcontrol, SUMOTime simStep, int step, SUMOTime stepDuration)
Changes the current phase and her duration.
SUMOTime getOffsetFromIndex(int index) const
Returns the position (start of a phase during a cycle) from of a given step.
int myStep
The current step.
SUMOTime myDefaultCycleTime
The cycle time (without changes)
A class that stores and controls tls and switching of their programs.
The definition of a single phase of a tls logic.