SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
MSDevice_Vehroutes Class Reference

A device which collects info on the vehicle trip (mainly on departure and arrival) More...

#include <MSDevice_Vehroutes.h>

Inheritance diagram for MSDevice_Vehroutes:
MSDevice MSMoveReminder Named

Data Structures

class  RouteReplaceInfo
 Information about a replaced route. More...
 
class  StateListener
 A class that is notified about reroutings. More...
 

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 addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void generateOutput () const
 Called on writing tripinfo output. More...
 
const std::string & getDescription () const
 
SUMOVehiclegetHolder () const
 Returns the vehicle that holds this device. More...
 
const std::string & getID () const
 Returns the id. More...
 
const MSLanegetLane () const
 Returns the lane the reminder works on. More...
 
const MSRoutegetRoute (int index) const
 Called on route retrieval. More...
 
virtual void notifyMoveInternal (SUMOVehicle &veh, SUMOReal timeOnLane, SUMOReal speed)
 Internal notification about the vehicle moves. More...
 
void setDescription (const std::string &description)
 
void setID (const std::string &newID)
 resets the id More...
 
 ~MSDevice_Vehroutes ()
 Destructor. More...
 
Methods called on vehicle movement / state change, overwriting MSDevice
bool notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason)
 Does nothing, returns true only if exit times should be collected. More...
 
bool notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, Notification reason)
 Saves exit times if needed. More...
 
Interface methods, to be derived by subclasses
virtual bool notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed)
 Checks whether the reminder still has to be notified about the vehicle moves. More...
 

Static Public Member Functions

static MSDevice_VehroutesbuildVehicleDevices (SUMOVehicle &v, std::vector< MSDevice * > &into, unsigned int maxRoutes=INT_MAX)
 Build devices for the given vehicle, if needed. More...
 
static void buildVehicleDevices (SUMOVehicle &v, std::vector< MSDevice * > &into)
 Build devices for the given vehicle, if needed. More...
 
static void generateOutputForUnfinished ()
 generate vehroute output for vehicles which are still in the network More...
 
static void init ()
 Static intialization. More...
 
static void insertOptions (OptionsCont &oc)
 Inserts options for building devices. More...
 

Static Protected Member Functions

Helper methods for device assignment
static void insertDefaultAssignmentOptions (const std::string &deviceName, const std::string &optionsTopic, OptionsCont &oc)
 Adds common command options that allow to assign devices to vehicles. More...
 
static bool equippedByDefaultAssignmentOptions (const OptionsCont &oc, const std::string &deviceName, SUMOVehicle &v)
 Determines whether a vehicle should get a certain device. More...
 

Protected Attributes

std::string myDescription
 a description of this moveReminder More...
 
SUMOVehiclemyHolder
 The vehicle that stores the device. More...
 
std::string myID
 The name of the object. More...
 
MSLane *const myLane
 Lane on which the reminder works. More...
 

Private Member Functions

void addRoute ()
 Called on route change. More...
 
 MSDevice_Vehroutes (SUMOVehicle &holder, const std::string &id, unsigned int maxRoutes)
 Constructor. More...
 
 MSDevice_Vehroutes (const MSDevice_Vehroutes &)
 Invalidated copy constructor. More...
 
MSDevice_Vehroutesoperator= (const MSDevice_Vehroutes &)
 Invalidated assignment operator. More...
 
void writeXMLRoute (OutputDevice &os, int index=-1) const
 Called on route output. More...
 

Private Attributes

const MSRoutemyCurrentRoute
 The currently used route. More...
 
std::vector< SUMOTimemyExits
 The times the vehicle exites an edge. More...
 
const MSEdgemyLastSavedAt
 The last edge the exit time was saved for. More...
 
const unsigned int myMaxRoutes
 The maximum number of routes to report. More...
 
std::vector< RouteReplaceInfomyReplacedRoutes
 Prior routes. More...
 

Static Private Attributes

static std::map< const
SUMOTime, int > 
myDepartureCounts
 Map needed to sort vehicles by departure time. More...
 
static bool myDUAStyle = false
 A shortcut for the Option "vehroute-output.dua". More...
 
static bool myIntendedDepart = false
 A shortcut for the Option "vehroute-output.intended-depart". More...
 
static bool myLastRouteOnly = false
 A shortcut for the Option "vehroute-output.last-route". More...
 
static std::map< const
SUMOTime, std::map< const
std::string, std::string > > 
myRouteInfos
 
static bool mySaveExits = false
 A shortcut for the Option "vehroute-output.exit-times". More...
 
static bool mySorted = false
 A shortcut for the Option "vehroute-output.sorted". More...
 
static StateListener myStateListener
 A class that is notified about reroutings. More...
 
static bool myWithTaz = false
 A shortcut for the Option "device.routing.with-taz". More...
 

Detailed Description

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.

See also
MSDevice

Definition at line 58 of file MSDevice_Vehroutes.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

MSDevice_Vehroutes::~MSDevice_Vehroutes ( )
MSDevice_Vehroutes::MSDevice_Vehroutes ( SUMOVehicle holder,
const std::string &  id,
unsigned int  maxRoutes 
)
private

Constructor.

Parameters
[in]holderThe vehicle that holds this device
[in]idThe ID of the device

Definition at line 114 of file MSDevice_Vehroutes.cpp.

References MSRoute::addReference(), and myCurrentRoute.

Referenced by buildVehicleDevices().

MSDevice_Vehroutes::MSDevice_Vehroutes ( const MSDevice_Vehroutes )
private

Invalidated copy constructor.

Member Function Documentation

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters
in,filled]cont The container to add this item to

Definition at line 121 of file Named.h.

References Named::StoringVisitor::add().

MSDevice_Vehroutes * MSDevice_Vehroutes::buildVehicleDevices ( SUMOVehicle v,
std::vector< MSDevice * > &  into,
unsigned int  maxRoutes = INT_MAX 
)
static

Build devices for the given vehicle, if needed.

The options are read and evaluated whether a vehroutes-device shall be built for the given vehicle.

The built device is stored in the given vector.

Parameters
[in]vThe vehicle for which a device may be built
filled]into The vector to store the built device in

Definition at line 84 of file MSDevice_Vehroutes.cpp.

References SUMOVehicle::getID(), OptionsCont::getOptions(), OptionsCont::isSet(), MSDevice_Vehroutes(), MSDevice_Vehroutes::StateListener::myDevices, myLastRouteOnly, and myStateListener.

Referenced by MSDevice::buildVehicleDevices(), and GUIVehicle::GUIVehicle().

void MSDevice::buildVehicleDevices ( SUMOVehicle v,
std::vector< MSDevice * > &  into 
)
staticinherited

Build devices for the given vehicle, if needed.

Parameters
[in]vThe vehicle for which a device may be built
filled]into The vector to store the built device in

Definition at line 73 of file MSDevice.cpp.

References MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_BTsender::buildVehicleDevices(), buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_Emissions::buildVehicleDevices(), and MSDevice_Routing::buildVehicleDevices().

Referenced by MSBaseVehicle::MSBaseVehicle().

bool MSDevice::equippedByDefaultAssignmentOptions ( const OptionsCont oc,
const std::string &  deviceName,
SUMOVehicle v 
)
staticprotectedinherited
void MSDevice_Vehroutes::generateOutputForUnfinished ( )
static

generate vehroute output for vehicles which are still in the network

Definition at line 316 of file MSDevice_Vehroutes.cpp.

References MSDevice_Vehroutes::StateListener::myDevices, and myStateListener.

Referenced by MSNet::closeSimulation().

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

Definition at line 215 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

SUMOVehicle& MSDevice::getHolder ( ) const
inlineinherited

Returns the vehicle that holds this device.

Returns
The vehicle that holds this device

Definition at line 105 of file MSDevice.h.

References MSDevice::myHolder.

const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 60 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBEdge::addSidewalk(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), MSEdge::by_id_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(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

const MSRoute * MSDevice_Vehroutes::getRoute ( int  index) const

Called on route retrieval.

Parameters
[in]indexThe index of the route to retrieve
Returns
the route at the index

Definition at line 290 of file MSDevice_Vehroutes.cpp.

References myReplacedRoutes.

Referenced by GUIVehicle::drawRoute().

void MSDevice::insertDefaultAssignmentOptions ( const std::string &  deviceName,
const std::string &  optionsTopic,
OptionsCont oc 
)
staticprotectedinherited

Adds common command options that allow to assign devices to vehicles.

Parameters
[in]deviceNameThe name of the device type
[in]optionsTopicThe options topic into which the options shall be added
filled]oc The options container to add the options to

!! describe

!! describe

!! describe

Definition at line 85 of file MSDevice.cpp.

References OptionsCont::addDescription(), OptionsCont::addSynonyme(), and OptionsCont::doRegister().

Referenced by MSDevice_BTsender::insertOptions(), MSDevice_BTreceiver::insertOptions(), MSDevice_Emissions::insertOptions(), and MSDevice_Routing::insertOptions().

void MSDevice::insertOptions ( OptionsCont oc)
staticinherited

Inserts options for building devices.

Parameters
filled]oc The options container to add the options to

Definition at line 63 of file MSDevice.cpp.

References MSDevice_Example::insertOptions(), MSDevice_BTsender::insertOptions(), MSDevice_BTreceiver::insertOptions(), MSDevice_Emissions::insertOptions(), and MSDevice_Routing::insertOptions().

Referenced by MSFrame::fillOptions().

bool MSDevice_Vehroutes::notifyEnter ( SUMOVehicle veh,
MSMoveReminder::Notification  reason 
)
virtual

Does nothing, returns true only if exit times should be collected.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
True, if exit times are to be collected.
See also
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSMoveReminder.

Definition at line 130 of file MSDevice_Vehroutes.cpp.

References SUMOVehicleParameter::depart, MSNet::getCurrentTimeStep(), MSNet::getInstance(), SUMOVehicle::getParameter(), myDepartureCounts, MSDevice_Vehroutes::StateListener::myDevices, MSDevice::myHolder, myIntendedDepart, mySaveExits, mySorted, myStateListener, and MSMoveReminder::NOTIFICATION_DEPARTED.

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

Saves exit times if needed.

The exit time is collected on all occasions except for lane change.

Parameters
[in]vehThe leaving vehicle.
[in]lastPosPosition on the lane when leaving.
[in]reasonhow the vehicle leaves the lane
See also
MSMoveReminder::notifyLeave
Returns
True, if exit times are to be collected.

Reimplemented from MSMoveReminder.

Definition at line 140 of file MSDevice_Vehroutes.cpp.

References MSNet::getCurrentTimeStep(), SUMOVehicle::getEdge(), MSNet::getInstance(), myExits, myLastSavedAt, mySaveExits, MSMoveReminder::NOTIFICATION_LANE_CHANGE, and MSMoveReminder::NOTIFICATION_TELEPORT.

virtual bool MSMoveReminder::notifyMove ( SUMOVehicle veh,
SUMOReal  oldPos,
SUMOReal  newPos,
SUMOReal  newSpeed 
)
inlinevirtualinherited

Checks whether the reminder still has to be notified 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]oldPosPosition before move.
[in]newPosPosition after move with newSpeed.
[in]newSpeedMoving speed.
Returns
True if vehicle hasn't passed the reminder completely.

Reimplemented in MSE3Collector::MSE3LeaveReminder, MSE2Collector, MSInductLoop, MSDevice_BTreceiver, MSMeanData::MeanDataValues, MSDevice_BTsender, MSDevice_Emissions, MSE3Collector::MSE3EntryReminder, MSInstantInductLoop, MSDevice_Example, MSDevice_Tripinfo, MSDevice_Person, and MSDevice_Container.

Definition at line 150 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

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 203 of file MSMoveReminder.h.

References UNUSED_PARAMETER.

MSDevice_Vehroutes& MSDevice_Vehroutes::operator= ( const MSDevice_Vehroutes )
private

Invalidated assignment operator.

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

Definition at line 211 of file MSMoveReminder.h.

References MSMoveReminder::myDescription.

Referenced by MSMeanData::init(), and MSCalibrator::MSCalibrator().

void Named::setID ( const std::string &  newID)
inlineinherited

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 68 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

void MSDevice_Vehroutes::writeXMLRoute ( OutputDevice os,
int  index = -1 
) const
private

Called on route output.

Parameters
[in]osthe device to write into
[in]indexThe index of the route to write (-1 writes the current route)

Definition at line 154 of file MSDevice_Vehroutes.cpp.

References MSRoute::begin(), SUMOVehicle::getNumberReroutes(), myCurrentRoute, myExits, MSDevice::myHolder, myReplacedRoutes, mySaveExits, OutputDevice::openTag(), MSRoute::size(), SUMO_TAG_ROUTE, time2string(), and MSRoute::writeEdgeIDs().

Referenced by generateOutput().

Field Documentation

const MSRoute* MSDevice_Vehroutes::myCurrentRoute
private

The currently used route.

Definition at line 243 of file MSDevice_Vehroutes.h.

Referenced by addRoute(), generateOutput(), MSDevice_Vehroutes(), writeXMLRoute(), and ~MSDevice_Vehroutes().

std::map< const SUMOTime, int > MSDevice_Vehroutes::myDepartureCounts
staticprivate

Map needed to sort vehicles by departure time.

Definition at line 203 of file MSDevice_Vehroutes.h.

Referenced by generateOutput(), and notifyEnter().

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 229 of file MSMoveReminder.h.

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

bool MSDevice_Vehroutes::myDUAStyle = false
staticprivate

A shortcut for the Option "vehroute-output.dua".

Definition at line 167 of file MSDevice_Vehroutes.h.

Referenced by generateOutput(), and init().

std::vector<SUMOTime> MSDevice_Vehroutes::myExits
private

The times the vehicle exites an edge.

Definition at line 249 of file MSDevice_Vehroutes.h.

Referenced by notifyLeave(), and writeXMLRoute().

bool MSDevice_Vehroutes::myIntendedDepart = false
staticprivate

A shortcut for the Option "vehroute-output.intended-depart".

Definition at line 173 of file MSDevice_Vehroutes.h.

Referenced by generateOutput(), init(), and notifyEnter().

MSLane* const MSMoveReminder::myLane
protectedinherited
bool MSDevice_Vehroutes::myLastRouteOnly = false
staticprivate

A shortcut for the Option "vehroute-output.last-route".

Definition at line 164 of file MSDevice_Vehroutes.h.

Referenced by buildVehicleDevices(), and init().

const MSEdge* MSDevice_Vehroutes::myLastSavedAt
private

The last edge the exit time was saved for.

Definition at line 255 of file MSDevice_Vehroutes.h.

Referenced by notifyLeave().

const unsigned int MSDevice_Vehroutes::myMaxRoutes
private

The maximum number of routes to report.

Definition at line 252 of file MSDevice_Vehroutes.h.

Referenced by addRoute().

std::vector<RouteReplaceInfo> MSDevice_Vehroutes::myReplacedRoutes
private

Prior routes.

Definition at line 246 of file MSDevice_Vehroutes.h.

Referenced by addRoute(), generateOutput(), getRoute(), writeXMLRoute(), and ~MSDevice_Vehroutes().

std::map< const SUMOTime, std::map< const std::string, std::string > > MSDevice_Vehroutes::myRouteInfos
staticprivate
Todo:
: describe

Definition at line 206 of file MSDevice_Vehroutes.h.

Referenced by generateOutput().

bool MSDevice_Vehroutes::mySaveExits = false
staticprivate

A shortcut for the Option "vehroute-output.exit-times".

Definition at line 161 of file MSDevice_Vehroutes.h.

Referenced by init(), notifyEnter(), notifyLeave(), and writeXMLRoute().

bool MSDevice_Vehroutes::mySorted = false
staticprivate

A shortcut for the Option "vehroute-output.sorted".

Definition at line 170 of file MSDevice_Vehroutes.h.

Referenced by generateOutput(), init(), and notifyEnter().

MSDevice_Vehroutes::StateListener MSDevice_Vehroutes::myStateListener
staticprivate

A class that is notified about reroutings.

Definition at line 200 of file MSDevice_Vehroutes.h.

Referenced by buildVehicleDevices(), generateOutputForUnfinished(), init(), notifyEnter(), and ~MSDevice_Vehroutes().

bool MSDevice_Vehroutes::myWithTaz = false
staticprivate

A shortcut for the Option "device.routing.with-taz".

Definition at line 176 of file MSDevice_Vehroutes.h.

Referenced by generateOutput(), and init().


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