SUMO - Simulation of Urban MObility
|
A device which collects info on the vehicle trip (mainly on departure and arrival) More...
#include <MSDevice_Tripinfo.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 | |
void | generateOutput () const |
Called on writing tripinfo output. | |
SUMOVehicle & | getHolder () const |
Returns the vehicle that holds this device. | |
const std::string & | getID () const |
Returns the id. | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. | |
virtual void | notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed) |
Internal notification about the vehicle moves. | |
void | setID (const std::string &newID) |
resets the id | |
~MSDevice_Tripinfo () | |
Destructor. | |
Methods called on vehicle movement / state change, overwriting MSDevice | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks for waiting steps when the vehicle moves. | |
bool | notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason) |
Saves departure info on insertion. | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason) |
Saves arrival info. | |
Static Public Member Functions | |
static void | buildVehicleDevices (SUMOVehicle &v, std::vector< MSDevice * > &into) |
Build devices for the given vehicle, if needed. | |
Protected Attributes | |
SUMOVehicle & | myHolder |
The vehicle that stores the device. | |
std::string | myID |
The name of the object. | |
MSLane *const | myLane |
Lane on which the reminder works. | |
Private Member Functions | |
MSDevice_Tripinfo (SUMOVehicle &holder, const std::string &id) | |
Constructor. | |
MSDevice_Tripinfo (const MSDevice_Tripinfo &) | |
Invalidated copy constructor. | |
MSDevice_Tripinfo & | operator= (const MSDevice_Tripinfo &) |
Invalidated assignment operator. | |
Private Attributes | |
std::string | myArrivalLane |
SUMOReal | myArrivalPos |
SUMOReal | myArrivalSpeed |
SUMOTime | myArrivalTime |
std::string | myDepartLane |
SUMOReal | myDepartPos |
SUMOReal | myDepartSpeed |
unsigned int | myWaitingSteps |
A device which collects info on the vehicle trip (mainly on departure and arrival)
Each device collects departure time, lane and speed and the same for arrival.
Definition at line 53 of file MSDevice_Tripinfo.h.
enum MSMoveReminder::Notification [inherited] |
Definition of a vehicle state.
Definition at line 93 of file MSMoveReminder.h.
Destructor.
Definition at line 68 of file MSDevice_Tripinfo.cpp.
MSDevice_Tripinfo::MSDevice_Tripinfo | ( | SUMOVehicle & | holder, |
const std::string & | id | ||
) | [private] |
Constructor.
[in] | holder | The vehicle that holds this device |
[in] | id | The ID of the device |
Definition at line 62 of file MSDevice_Tripinfo.cpp.
Referenced by buildVehicleDevices().
MSDevice_Tripinfo::MSDevice_Tripinfo | ( | const MSDevice_Tripinfo & | ) | [private] |
Invalidated copy constructor.
void MSDevice_Tripinfo::buildVehicleDevices | ( | SUMOVehicle & | v, |
std::vector< MSDevice * > & | into | ||
) | [static] |
Build devices for the given vehicle, if needed.
The options are read and evaluated whether a tripinfo-device shall be built for the given vehicle.
The built device is stored in the given vector.
[in] | v | The vehicle for which a device may be built |
in,filled] | into The vector to store the built device in |
Definition at line 51 of file MSDevice_Tripinfo.cpp.
References SUMOVehicle::getID(), OptionsCont::getOptions(), and MSDevice_Tripinfo().
Referenced by MSBaseVehicle::MSBaseVehicle().
void MSDevice_Tripinfo::generateOutput | ( | ) | const [virtual] |
Called on writing tripinfo output.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Reimplemented from MSDevice.
Definition at line 111 of file MSDevice_Tripinfo.cpp.
References SUMOVehicleParameter::depart, MSLane::dictionary(), MSRoute::end(), SUMOVehicle::getDeparture(), OutputDevice::getDeviceByOption(), SUMOVehicle::getDevices(), SUMOVehicle::getEdge(), SUMOVehicle::getID(), MSVehicleType::getID(), MSRoute::getLength(), SUMOVehicle::getNumberReroutes(), SUMOVehicle::getParameter(), SUMOVehicle::getRoute(), SUMOVehicle::getVehicleType(), myArrivalLane, myArrivalPos, myArrivalSpeed, myArrivalTime, myDepartLane, myDepartPos, myDepartSpeed, MSDevice::myHolder, myWaitingSteps, OutputDevice::openTag(), SUMOReal, and time2string().
SUMOVehicle& MSDevice::getHolder | ( | ) | const [inline, inherited] |
Returns the vehicle that holds this device.
Definition at line 85 of file MSDevice.h.
References MSDevice::myHolder.
const std::string& Named::getID | ( | ) | const [inline, inherited] |
Returns the id.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 61 of file Named.h.
References Named::myID.
Referenced by MSDetectorControl::add(), ShapeContainer::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), notifyEnter(), notifyLeave(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedTLDef::SignalGroup::patchTYellow(), RORouteDef_Complete::preComputeCurrentRoute(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), NWWriter_SUMO::prohibitionConnection(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), MSInductLoop::writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
const MSLane* MSMoveReminder::getLane | ( | ) | const [inline, inherited] |
Returns the lane the reminder works on.
Definition at line 87 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by GUIInstantInductLoop::buildDetectorGUIRepresentation(), GUIInductLoop::buildDetectorGUIRepresentation(), MSE2Collector::detectorUpdate(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), notifyEnter(), notifyLeave(), TraCIServerAPI_InductionLoop::processGet(), and MSMeanData::writeEdge().
bool MSDevice_Tripinfo::notifyEnter | ( | SUMOVehicle & | veh, |
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Saves departure info on insertion.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 83 of file MSDevice_Tripinfo.cpp.
References Named::getID(), MSMoveReminder::getLane(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, myDepartLane, myDepartPos, myDepartSpeed, and MSMoveReminder::NOTIFICATION_DEPARTED.
bool MSDevice_Tripinfo::notifyLeave | ( | SUMOVehicle & | veh, |
SUMOReal | lastPos, | ||
MSMoveReminder::Notification | reason | ||
) | [virtual] |
Saves arrival info.
[in] | veh | The leaving vehicle. |
[in] | lastPos | Position on the lane when leaving. |
[in] | isArrival | whether the vehicle arrived at its destination |
[in] | isLaneChange | whether the vehicle changed from the lane |
Reimplemented from MSMoveReminder.
Definition at line 96 of file MSDevice_Tripinfo.cpp.
References MSNet::getCurrentTimeStep(), Named::getID(), MSNet::getInstance(), MSMoveReminder::getLane(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getSpeed(), MSGlobals::gUseMesoSim, myArrivalLane, myArrivalPos, myArrivalSpeed, myArrivalTime, MSDevice::myHolder, and MSMoveReminder::NOTIFICATION_ARRIVED.
bool MSDevice_Tripinfo::notifyMove | ( | SUMOVehicle & | veh, |
SUMOReal | oldPos, | ||
SUMOReal | newPos, | ||
SUMOReal | newSpeed | ||
) | [virtual] |
Checks for waiting steps when the vehicle moves.
[in] | veh | Vehicle that asks this reminder. |
[in] | oldPos | Position before move. |
[in] | newPos | Position after move with newSpeed. |
[in] | newSpeed | Moving speed. |
Reimplemented from MSMoveReminder.
Definition at line 73 of file MSDevice_Tripinfo.cpp.
References myWaitingSteps.
virtual void MSMoveReminder::notifyMoveInternal | ( | SUMOVehicle & | veh, |
SUMOReal | timeOnLane, | ||
SUMOReal | speed | ||
) | [inline, virtual, inherited] |
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] | timeOnLane | time the vehicle spent on the lane. |
[in] | speed | Moving speed. |
Reimplemented in MSMeanData::MeanDataValueTracker, MSMeanData_Net::MSLaneMeanDataValues, MSMeanData_Harmonoise::MSLaneMeanDataValues, and MSMeanData_HBEFA::MSLaneMeanDataValues.
Definition at line 200 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
MSDevice_Tripinfo& MSDevice_Tripinfo::operator= | ( | const MSDevice_Tripinfo & | ) | [private] |
Invalidated assignment operator.
void Named::setID | ( | const std::string & | newID | ) | [inline, inherited] |
resets the id
Definition at line 67 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
std::string MSDevice_Tripinfo::myArrivalLane [private] |
Definition at line 138 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyLeave().
SUMOReal MSDevice_Tripinfo::myArrivalPos [private] |
Definition at line 139 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyLeave().
SUMOReal MSDevice_Tripinfo::myArrivalSpeed [private] |
Definition at line 140 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyLeave().
SUMOTime MSDevice_Tripinfo::myArrivalTime [private] |
Definition at line 137 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyLeave().
std::string MSDevice_Tripinfo::myDepartLane [private] |
Definition at line 133 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyEnter().
SUMOReal MSDevice_Tripinfo::myDepartPos [private] |
Definition at line 134 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyEnter().
SUMOReal MSDevice_Tripinfo::myDepartSpeed [private] |
Definition at line 135 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyEnter().
SUMOVehicle& MSDevice::myHolder [protected, inherited] |
The vehicle that stores the device.
Definition at line 108 of file MSDevice.h.
Referenced by MSDevice_Vehroutes::addRoute(), MSDevice_Vehroutes::generateOutput(), generateOutput(), MSDevice::getHolder(), notifyLeave(), MSDevice_Routing::preInsertionReroute(), MSDevice_Routing::wrappedRerouteCommandExecute(), MSDevice_Vehroutes::writeXMLRoute(), and MSDevice_Vehroutes::~MSDevice_Vehroutes().
std::string Named::myID [protected, inherited] |
The name of the object.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 83 of file Named.h.
Referenced by NLDetectorBuilder::addE3Entry(), NLDetectorBuilder::addE3Exit(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), NBEdge::init(), RORouteDef_OrigDest::preComputeCurrentRoute(), RORouteDef_Alternatives::preComputeCurrentRoute(), RORouteDef_Complete::preComputeCurrentRoute(), MSRoute::release(), Named::setID(), NBEdge::splitGeometry(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
MSLane* const MSMoveReminder::myLane [protected, inherited] |
Lane on which the reminder works.
Definition at line 215 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), and MSMoveReminder::MSMoveReminder().
unsigned int MSDevice_Tripinfo::myWaitingSteps [private] |
Definition at line 136 of file MSDevice_Tripinfo.h.
Referenced by generateOutput(), and notifyMove().