SUMO - Simulation of Urban MObility
|
A BT sender. More...
#include <MSDevice_BTsender.h>
Data Structures | |
class | VehicleInformation |
Stores the information of a vehicle. More... | |
class | VehicleState |
A single movement state of the vehicle. 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... | |
virtual void | generateOutput () const |
Called on writing tripinfo output. More... | |
const std::string & | getDescription () const |
SUMOVehicle & | getHolder () const |
Returns the vehicle that holds this device. More... | |
const std::string & | getID () const |
Returns the id. More... | |
const MSLane * | getLane () const |
Returns the lane the reminder works on. 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_BTsender () | |
Destructor. More... | |
Methods inherited from MSMoveReminder. | |
bool | notifyEnter (SUMOVehicle &veh, Notification reason) |
Adds the vehicle to running vehicles if it (re-) enters the network. More... | |
bool | notifyMove (SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed) |
Checks whether the reminder still has to be notified about the vehicle moves. More... | |
bool | notifyLeave (SUMOVehicle &veh, SUMOReal lastPos, Notification reason) |
Moves (the known) vehicle from running to arrived vehicles' list. More... | |
Static Public Member Functions | |
static void | buildVehicleDevices (SUMOVehicle &v, std::vector< MSDevice * > &into) |
Build devices for the given vehicle, if needed. More... | |
static void | insertOptions (OptionsCont &oc) |
Inserts MSDevice_BTsender-options. 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... | |
SUMOVehicle & | myHolder |
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... | |
Static Protected Attributes | |
static std::map< std::string, VehicleInformation * > | sVehicles |
The list of arrived senders. More... | |
Private Member Functions | |
MSDevice_BTsender (SUMOVehicle &holder, const std::string &id) | |
Constructor. More... | |
MSDevice_BTsender (const MSDevice_BTsender &) | |
Invalidated copy constructor. More... | |
MSDevice_BTsender & | operator= (const MSDevice_BTsender &) |
Invalidated assignment operator. More... | |
Friends | |
class | MSDevice_BTreceiver |
for accessing the maps of running/arrived vehicles More... | |
|
inherited |
Definition of a vehicle state.
Definition at line 94 of file MSMoveReminder.h.
MSDevice_BTsender::~MSDevice_BTsender | ( | ) |
Destructor.
Definition at line 82 of file MSDevice_BTsender.cpp.
|
private |
Constructor.
[in] | holder | The vehicle that holds this device |
[in] | id | The ID of the device |
Definition at line 77 of file MSDevice_BTsender.cpp.
Referenced by buildVehicleDevices().
|
private |
Invalidated copy constructor.
|
inlineinherited |
Adds this object to the given container.
in,filled] | cont The container to add this item to |
Definition at line 114 of file Named.h.
References Named::StoringVisitor::add().
|
static |
Build devices for the given vehicle, if needed.
The options are read and evaluated whether a bt-sender-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 |
filled] | into The vector to store the built device in |
Definition at line 66 of file MSDevice_BTsender.cpp.
References MSDevice::equippedByDefaultAssignmentOptions(), SUMOVehicle::getID(), OptionsCont::getOptions(), and MSDevice_BTsender().
Referenced by MSDevice::buildVehicleDevices().
|
staticprotectedinherited |
Determines whether a vehicle should get a certain device.
[in] | oc | The options container to get the information about assignment from |
[in] | deviceName | The name of the device type |
[in] | v | The vehicle to determine whether it shall be equipped or not |
Definition at line 97 of file MSDevice.cpp.
References TplConvert::_2bool(), OptionsCont::exists(), OptionsCont::getBool(), OptionsCont::getFloat(), SUMOVehicle::getID(), MSNet::getInstance(), OptionsCont::getOptions(), Parameterised::getParameter(), SUMOVehicle::getParameter(), MSVehicleType::getParameter(), OptionsCont::getStringVector(), MSNet::getVehicleControl(), SUMOVehicle::getVehicleType(), MSVehicleControl::isInQuota(), OptionsCont::isSet(), Parameterised::knowsParameter(), MSDevice::myExplicitIDs, and RandHelper::rand().
Referenced by MSDevice_Example::buildVehicleDevices(), buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_HBEFA::buildVehicleDevices(), and MSDevice_Routing::buildVehicleDevices().
|
inlinevirtualinherited |
Called on writing tripinfo output.
The device may write some statistics into the tripinfo output. It is assumed that the written information is a valid xml-snipplet, which will be embedded within the vehicle's information.
The device should use the openTag / closeTag methods of the OutputDevice for correct indentation.
[in] | os | The stream to write the information into |
IOError | not yet implemented |
Reimplemented in MSDevice_Example, MSDevice_Vehroutes, MSDevice_HBEFA, and MSDevice_Tripinfo.
Definition at line 121 of file MSDevice.h.
|
inlineinherited |
Definition at line 213 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
|
inlineinherited |
Returns the vehicle that holds this device.
Definition at line 104 of file MSDevice.h.
References MSDevice::myHolder.
|
inlineinherited |
Returns the id.
Definition at line 60 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), Named::StoringVisitor::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), RORouteDef::addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicleTransfer::addVeh(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBEdge::connections_sorter(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), RODFNet::getDetectorEdge(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), RODFDetectorCon::guessEmptyFlows(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), MSVehicle::MSVehicle(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::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()(), MSEdge::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(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), 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(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), 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(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
|
inlineinherited |
Returns the lane the reminder works on.
Definition at line 88 of file MSMoveReminder.h.
References MSMoveReminder::myLane.
Referenced by MSE2Collector::detectorUpdate(), TraCIServerAPI_InductionLoop::getPosition(), TraCIServerAPI_InductionLoop::getTree(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUI_E2_ZS_Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), notifyLeave(), MSDevice_BTreceiver::notifyMove(), notifyMove(), TraCIServerAPI_InductionLoop::processGet(), and MSMeanData::writeEdge().
|
staticprotectedinherited |
Adds common command options that allow to assign devices to vehicles.
[in] | deviceName | The name of the device type |
[in] | optionsTopic | The 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 83 of file MSDevice.cpp.
References OptionsCont::addDescription(), OptionsCont::addSynonyme(), and OptionsCont::doRegister().
Referenced by insertOptions(), MSDevice_BTreceiver::insertOptions(), MSDevice_HBEFA::insertOptions(), and MSDevice_Routing::insertOptions().
|
static |
Inserts MSDevice_BTsender-options.
filled] | oc The options container to add the options to |
Definition at line 60 of file MSDevice_BTsender.cpp.
References MSDevice::insertDefaultAssignmentOptions().
Referenced by MSDevice::insertOptions().
|
virtual |
Adds the vehicle to running vehicles if it (re-) enters the network.
[in] | veh | The entering vehicle. |
[in] | reason | how the vehicle enters the lane |
Reimplemented from MSMoveReminder.
Definition at line 87 of file MSDevice_BTsender.cpp.
References Named::getID(), SUMOVehicle::getID(), MSNet::getInstance(), MSMoveReminder::getLane(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getSpeed(), MSMoveReminder::NOTIFICATION_DEPARTED, and sVehicles.
|
virtual |
Moves (the known) vehicle from running to arrived vehicles' list.
[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 112 of file MSDevice_BTsender.cpp.
References Named::getID(), SUMOVehicle::getID(), MSNet::getInstance(), MSMoveReminder::getLane(), SUMOVehicle::getPositionOnLane(), SUMOVehicle::getSpeed(), MSMoveReminder::NOTIFICATION_ARRIVED, MSMoveReminder::NOTIFICATION_TELEPORT, sVehicles, and WRITE_WARNING.
|
virtual |
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.
[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 99 of file MSDevice_BTsender.cpp.
References Named::getID(), SUMOVehicle::getID(), MSNet::getInstance(), MSMoveReminder::getLane(), sVehicles, and WRITE_WARNING.
|
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] | 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 201 of file MSMoveReminder.h.
References UNUSED_PARAMETER.
|
private |
Invalidated assignment operator.
|
inlineinherited |
Definition at line 209 of file MSMoveReminder.h.
References MSMoveReminder::myDescription.
Referenced by MSCalibrator::MSCalibrator().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 68 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
friend |
for accessing the maps of running/arrived vehicles
Definition at line 77 of file MSDevice_BTsender.h.
|
protectedinherited |
a description of this moveReminder
Definition at line 222 of file MSMoveReminder.h.
Referenced by MSMoveReminder::getDescription(), and MSMoveReminder::setDescription().
|
protectedinherited |
The vehicle that stores the device.
Definition at line 152 of file MSDevice.h.
Referenced by MSDevice_Vehroutes::addRoute(), MSDevice_Tripinfo::generateOutput(), MSDevice_Vehroutes::generateOutput(), MSDevice::getHolder(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Routing::preInsertionReroute(), MSDevice_Routing::wrappedRerouteCommandExecute(), MSDevice_Vehroutes::writeXMLRoute(), and MSDevice_Vehroutes::~MSDevice_Vehroutes().
|
protectedinherited |
The name of the object.
Definition at line 121 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSCalibrator::execute(), Named::getID(), NBEdge::getLaneID(), NBEdge::getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSCalibrator::init(), NBEdge::init(), MSCalibrator::myStartElement(), MSCalibrator::VehicleRemover::notifyEnter(), RORouteDef::preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), RORouteDef::repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MSCalibrator::writeXMLOutput(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
|
protectedinherited |
Lane on which the reminder works.
Definition at line 220 of file MSMoveReminder.h.
Referenced by MSE2Collector::detectorUpdate(), MSMoveReminder::getLane(), MSE2Collector::MSE2Collector(), and MSMoveReminder::MSMoveReminder().
|
staticprotected |
The list of arrived senders.
Definition at line 217 of file MSDevice_BTsender.h.
Referenced by MSDevice_BTreceiver::BTreceiverUpdate::execute(), notifyEnter(), notifyLeave(), notifyMove(), and MSDevice_BTreceiver::BTreceiverUpdate::~BTreceiverUpdate().