41 myDescription(description) {
42 if (
myLane != 0 && doAdd) {
56 if (entryTime > currentTime) {
59 std::map<SUMOVehicle*, std::pair<SUMOTime, SUMOReal> >::iterator j = myLastVehicleUpdateValues.find(&veh);
60 if (j != myLastVehicleUpdateValues.end()) {
64 const SUMOTime previousEntryTime = j->second.first;
65 if (previousEntryTime <= currentTime) {
66 entryTime = previousEntryTime;
67 entryPos = j->second.second;
69 myLastVehicleUpdateValues.erase(j);
71 assert(entryTime <= currentTime);
72 if ((entryTime < leaveTime) && (entryPos < leavePos)) {
75 myLastVehicleUpdateValues[&veh] = std::pair<SUMOTime, SUMOReal>(currentTime, entryPos + speed * timeOnLane);
76 assert(timeOnLane >= 0);
84 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.