SUMO - Simulation of Urban MObility
MSE3Collector::MSE3LeaveReminder Class Reference

A place on the road net (at a certain lane and position on it) where the E3 area ends. More...

#include <MSE3Collector.h>

Inheritance diagram for MSE3Collector::MSE3LeaveReminder:
MSMoveReminder

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 MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
 MSE3LeaveReminder (const MSCrossSection &crossSection, MSE3Collector &collector)
 Constructor. More...
 
virtual void notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed)
 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...
 

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...
 
MSE3LeaveReminderoperator= (const MSE3LeaveReminder &)
 Invalidated assignment operator. More...
 

Private Attributes

MSE3CollectormyCollector
 The parent collector. More...
 
SUMOReal myPosition
 The position on the lane. More...
 

Detailed Description

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.

Member Enumeration Documentation

Definition of a vehicle state.

Enumerator
NOTIFICATION_DEPARTED 

The vehicle has departed (was inserted into the network)

NOTIFICATION_JUNCTION 

The vehicle arrived at a junction.

NOTIFICATION_SEGMENT 

The vehicle changes the segment (meso only)

NOTIFICATION_LANE_CHANGE 

The vehicle changes lanes (micro only)

NOTIFICATION_TELEPORT 

The vehicle is being teleported.

NOTIFICATION_PARKING 

The vehicle starts or ends parking.

NOTIFICATION_ARRIVED 

The vehicle arrived at its destination (is deleted)

NOTIFICATION_VAPORIZED 

The vehicle got vaporized.

NOTIFICATION_TELEPORT_ARRIVED 

The vehicle was teleported out of the net.

Definition at line 95 of file MSMoveReminder.h.

Constructor & Destructor Documentation

MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder ( const MSCrossSection crossSection,
MSE3Collector collector 
)

Constructor.

Parameters
[in]crossSectionThe position at which the exit lies
[in]collectorThe detector the exit belongs to

Definition at line 92 of file MSE3Collector.cpp.

MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder ( const MSE3LeaveReminder )
private

Invalidated copy constructor.

Member Function Documentation

const std::string& MSMoveReminder::getDescription ( ) const
inlineinherited

Definition at line 214 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

virtual bool MSMoveReminder::notifyEnter ( SUMOVehicle veh,
Notification  reason 
)
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.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
True if vehicle enters the reminder.
See also
Notification

Reimplemented in MSMeanData::MeanDataValueTracker, MSE2Collector, MSDevice_Routing, MSMeanData_Net::MSLaneMeanDataValues, MSCalibrator::VehicleRemover, MSTriggeredRerouter, MSMeanData_Amitran::MSLaneMeanDataValues, MSDevice_Example, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData::MeanDataValues, MSDevice_Vehroutes, MSDevice_BTsender, MSRouteProbe, MSDevice_Person, MSDevice_Tripinfo, and MSDevice_BTreceiver.

Definition at line 130 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

bool MSE3Collector::MSE3LeaveReminder::notifyLeave ( SUMOVehicle veh,
SUMOReal  lastPos,
MSMoveReminder::Notification  reason 
)
virtual

Processes state changes of a vehicle.

Checks whether the vehicle has changed lanes and this reminder needs to be removed

Parameters
[in]vehThe leaving vehicle (unused).
[in]lastPosPosition on the lane when leaving (unused).
[in]reasonThe reason for the state change
See also
MSMoveReminder::notifyLeave

Reimplemented from MSMoveReminder.

Definition at line 120 of file MSE3Collector.cpp.

References MSMoveReminder::NOTIFICATION_LANE_CHANGE.

bool MSE3Collector::MSE3LeaveReminder::notifyMove ( SUMOVehicle veh,
SUMOReal  oldPos,
SUMOReal  newPos,
SUMOReal  newSpeed 
)
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".

Parameters
[in]vehThe vehicle in question.
[in]oldPosPosition before the move-micro-timestep.
[in]newPosPosition after the move-micro-timestep.
[in]newSpeedUnused here.
Returns
False, if vehicle passed the detector entirely, else true.
See also
MSMoveReminder
MSMoveReminder::notifyMove
MSE3Collector::leave

Reimplemented from MSMoveReminder.

Definition at line 99 of file MSE3Collector.cpp.

References MSNet::getInstance(), STEPS2TIME, and SUMOReal.

virtual void MSMoveReminder::notifyMoveInternal ( SUMOVehicle veh,
SUMOReal  timeOnLane,
SUMOReal  speed 
)
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.

Parameters
[in]vehVehicle that asks this reminder.
[in]timeOnLanetime the vehicle spent on the lane.
[in]speedMoving speed.

Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, MSMeanData_Amitran::MSLaneMeanDataValues, and MSMeanData_Emissions::MSLaneMeanDataValues.

Definition at line 202 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

MSE3LeaveReminder& MSE3Collector::MSE3LeaveReminder::operator= ( const MSE3LeaveReminder )
private

Invalidated assignment operator.

void MSMoveReminder::setDescription ( const std::string &  description)
inlineinherited

Definition at line 210 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

Referenced by MSCalibrator::MSCalibrator().

Field Documentation

MSE3Collector& MSE3Collector::MSE3LeaveReminder::myCollector
private

The parent collector.

Definition at line 183 of file MSE3Collector.h.

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 223 of file MSMoveReminder.h.

Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().

MSLane* const MSMoveReminder::myLane
protectedinherited
SUMOReal MSE3Collector::MSE3LeaveReminder::myPosition
private

The position on the lane.

Definition at line 186 of file MSE3Collector.h.


The documentation for this class was generated from the following files: