SUMO - Simulation of Urban MObility
|
A place on the road net (at a certain lane and position on it) where the E3 area ends. More...
#include <MSE3Collector.h>
Public Types | |
enum | Notification { NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE, NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED, NOTIFICATION_TELEPORT_ARRIVED } |
Definition of a vehicle state. More... | |
Public Member Functions | |
const std::string & | getDescription () const |
const MSLane * | getLane () const |
Returns the lane the reminder works on. More... | |
MSE3LeaveReminder (const MSCrossSection &crossSection, MSE3Collector &collector) | |
Constructor. More... | |
virtual void | notifyMoveInternal (const SUMOVehicle &veh, const SUMOReal frontOnLane, const SUMOReal timeOnLane, const SUMOReal meanSpeedFrontOnLane, const SUMOReal meanSpeedVehicleOnLane, const SUMOReal travelledDistanceFrontOnLane, const SUMOReal travelledDistanceVehicleOnLane) |
Internal notification about the vehicle moves. More... | |
void | setDescription (const std::string &description) |
methods from MSMoveReminder | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal) |
Checks whether the vehicle leaves. More... | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Processes state changes of a vehicle. More... | |
Interface methods, to be derived by subclasses | |
virtual bool | notifyEnter (SUMOVehicle &veh, Notification reason) |
Checks whether the reminder is activated by a vehicle entering the lane. More... | |
void | updateDetector (SUMOVehicle &veh, SUMOReal entryPos, SUMOReal leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp) |
Protected Member Functions | |
void | removeFromVehicleUpdateValues (SUMOVehicle &veh) |
Protected Attributes | |
std::string | myDescription |
a description of this moveReminder More... | |
MSLane *const | myLane |
Lane on which the reminder works. More... | |
Private Member Functions | |
MSE3LeaveReminder (const MSE3LeaveReminder &) | |
Invalidated copy constructor. More... | |
MSE3LeaveReminder & | operator= (const MSE3LeaveReminder &) |
Invalidated assignment operator. More... | |
Private Attributes | |
MSE3Collector & | myCollector |
The parent collector. More... | |
SUMOReal | myPosition |
The position on the lane. More... | |
A place on the road net (at a certain lane and position on it) where the E3 area ends.
Definition at line 138 of file MSE3Collector.h.
|
inherited |
Definition of a vehicle state.
Definition at line 95 of file MSMoveReminder.h.
MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder | ( | const MSCrossSection & | crossSection, |
MSE3Collector & | collector | ||
) |
Constructor.
[in] | crossSection | The position at which the exit lies |
[in] | collector | The detector the exit belongs to |
Definition at line 92 of file MSE3Collector.cpp.
|
private |
Invalidated copy constructor.
|
inlineinherited |
Definition at line 225 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 89 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSDevice_Tripinfo::computeLengthAndDuration(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_ArealDetector::processGet(), and MSMeanData::writeEdge().
|
inlinevirtualinherited |
Checks whether the reminder is activated by a vehicle entering the lane.
Lane change means in this case that the vehicle changes to the lane the reminder is placed at.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented in MSMeanData::MeanDataValueTracker, MSE2Collector, MSDevice_Routing, MSTriggeredRerouter, MSMeanData_Net::MSLaneMeanDataValues, MSCalibrator::VehicleRemover, MSInductLoop, MSDevice_Tripinfo, MSMeanData_Amitran::MSLaneMeanDataValues, MSDevice_Example, MSDevice_BTsender, MSMeanData::MeanDataValues, MSDevice_BTreceiver, MSDevice_Vehroutes, MSRouteProbe, MSDevice_Battery, and MSDevice_Transportable.
Definition at line 130 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
virtual |
Processes state changes of a vehicle.
Checks whether the vehicle has changed lanes and this reminder needs to be removed
[in] | veh | The leaving vehicle (unused). |
[in] | lastPos | Position on the lane when leaving (unused). |
[in] | reason | The reason for the state change |
Reimplemented from MSMoveReminder.
Definition at line 129 of file MSE3Collector.cpp.
References MSMoveReminder::NOTIFICATION_LANE_CHANGE.
|
virtual |
Checks whether the vehicle leaves.
As soon as the reported vehicle leaves the detector area (position-length>myPosition) the leaving time is computed and both are made known to the parent detector using "leave".
[in] | veh | The vehicle in question. |
[in] | oldPos | Position before the move-micro-timestep. |
[in] | newPos | Position after the move-micro-timestep. |
[in] | newSpeed | Unused here. |
Reimplemented from MSMoveReminder.
Definition at line 99 of file MSE3Collector.cpp.
References MSVehicleType::getLength(), SUMOVehicle::getPreviousSpeed(), SUMOVehicle::getVehicleType(), MSGlobals::gSemiImplicitEulerUpdate, MSCFModel::passingTime(), SIMTIME, SUMOReal, and TS.
|
inlinevirtualinherited |
Internal notification about the vehicle moves.
Indicator if the reminders is still active for the passed vehicle/parameters. If false, the vehicle will erase this reminder from it's reminder-container.
[in] | veh | Vehicle that asks this reminder. |
[in] | frontOnLane | time the front of the vehicle spent on the lane. |
[in] | timeOnLane | time some part of the vehicle spent on the lane. |
[in] | meanSpeedFrontOnLane | Average speed for the time that the front is on the lane. |
[in] | meanSpeedVehicleOnLane | Average speed for the time that the vehicle is on the lane (with front or back). |
[in] | travelledDistanceFrontOnLane | distance travelled while overlapping with the lane. |
[in] | travelledDistanceVehicleOnLane | distance travelled while front was on the lane. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSDevice_Tripinfo, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.
Definition at line 205 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
Referenced by MSMoveReminder::updateDetector().
|
private |
Invalidated assignment operator.
|
protectedinherited |
Definition at line 94 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues.
Referenced by MSMoveReminder::updateDetector().
|
inlineinherited |
Definition at line 221 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSMeanData::init(), MEInductLoop::MEInductLoop(), METriggeredCalibrator::METriggeredCalibrator(), and MSCalibrator::MSCalibrator().
|
inherited |
Definition at line 51 of file MSMoveReminder.cpp.
References MSMoveReminder::myLastVehicleUpdateValues, MSMoveReminder::notifyMoveInternal(), MSMoveReminder::removeFromVehicleUpdateValues(), STEPS2TIME, and SUMOReal.
Referenced by MEVehicle::updateDetectorForWriting().
|
private |
The parent collector.
Definition at line 183 of file MSE3Collector.h.
|
protectedinherited |
a description of this moveReminder
Definition at line 237 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 235 of file MSMoveReminder.h.
Referenced by MSE2Collector::getEstimatedCurrentVehicleNumber(), MSE2Collector::getEstimateQueueLength(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), MSMoveReminder::MSMoveReminder(), MSInductLoop::notifyEnter(), MSE2Collector::notifyEnter(), and MSE2Collector::notifyMove().
|
private |
The position on the lane.
Definition at line 186 of file MSE3Collector.h.