42 myDescription(description) {
43 if (
myLane != 0 && doAdd) {
57 if (entryTime > currentTime) {
60 std::map<SUMOVehicle*, std::pair<SUMOTime, SUMOReal> >::iterator j = myLastVehicleUpdateValues.find(&veh);
61 if (j != myLastVehicleUpdateValues.end()) {
65 const SUMOTime previousEntryTime = j->second.first;
66 if (previousEntryTime <= currentTime) {
67 entryTime = previousEntryTime;
68 entryPos = j->second.second;
70 myLastVehicleUpdateValues.erase(j);
72 assert(entryTime <= currentTime);
73 if ((entryTime < leaveTime) && (entryPos < leavePos)) {
76 myLastVehicleUpdateValues[&veh] = std::pair<SUMOTime, SUMOReal>(currentTime, entryPos + speed * timeOnLane);
77 assert(timeOnLane >= 0);
85 myLastVehicleUpdateValues[&veh] = std::pair<SUMOTime, SUMOReal>(leaveTime, leavePos);
MSLane *const myLane
Lane on which the reminder works.
virtual void addMoveReminder(MSMoveReminder *rem)
Add a move-reminder to move-reminder container.
MSMoveReminder(const std::string &description, MSLane *const lane=0, const bool doAdd=true)
Constructor.
Representation of a vehicle.
virtual void notifyMoveInternal(SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed)
Internal notification about the vehicle moves.
Representation of a lane in the micro simulation.