SUMO - Simulation of Urban MObility
MSDevice_Transportable Class Reference

#include <MSDevice_Transportable.h>

Inheritance diagram for MSDevice_Transportable:
Inheritance graph
Collaboration diagram for MSDevice_Transportable:
Collaboration graph

Public Types

enum  Notification {
  NOTIFICATION_DEPARTED, NOTIFICATION_JUNCTION, NOTIFICATION_SEGMENT, NOTIFICATION_LANE_CHANGE,
  NOTIFICATION_TELEPORT, NOTIFICATION_PARKING, NOTIFICATION_ARRIVED, NOTIFICATION_VAPORIZED,
  NOTIFICATION_TELEPORT_ARRIVED, NOTIFICATION_PARKING_REROUTE
}
 Definition of a vehicle state. More...
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void addTransportable (MSTransportable *transportable)
 Add a passenger. More...
 
const std::string deviceName () const
 return the name for this type of device More...
 
virtual 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...
 
SUMOVehicle::NumericalID getNumericalID () const
 
std::string getParameter (const std::string &key) const
 try to retrieve the given parameter from this device. Throw exception for unsupported key More...
 
const std::vector< MSTransportable * > & getTransportables () const
 Returns the list of transportables using this vehicle. More...
 
virtual void loadState (const SUMOSAXAttributes &attrs)
 Loads the state of the device from the given description. More...
 
void removeTransportable (MSTransportable *transportable)
 Remove a passenger (TraCI) More...
 
virtual void saveState (OutputDevice &out) const
 Saves the state of the device. More...
 
void setDescription (const std::string &description)
 
void setID (const std::string &newID)
 resets the id More...
 
virtual void setParameter (const std::string &key, const std::string &value)
 try to set the given parameter for this device. Throw exception for unsupported key More...
 
int size () const
 Return the number of passengers / containers. More...
 
 ~MSDevice_Transportable ()
 Destructor. More...
 
Methods called on vehicle movement / state change, overwriting MSDevice
bool notifyMove (SUMOVehicle &veh, double oldPos, double newPos, double newSpeed)
 Checks whether the vehicle is at a stop and transportable action is needed. More...
 
bool notifyEnter (SUMOVehicle &veh, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Adds passengers on vehicle insertion. More...
 
bool notifyLeave (SUMOVehicle &veh, double lastPos, MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
 Passengers leaving on arrival. More...
 
Interface methods, to be derived by subclasses
void updateDetector (SUMOVehicle &veh, double entryPos, double leavePos, SUMOTime entryTime, SUMOTime currentTime, SUMOTime leaveTime, bool cleanUp)
 

Static Public Member Functions

static void buildPersonDevices (MSTransportable &p, std::vector< MSPersonDevice *> &into)
 Build devices for the given person, if needed. More...
 
static MSDevice_TransportablebuildVehicleDevices (SUMOVehicle &v, std::vector< MSVehicleDevice *> &into, const bool isContainer)
 Build devices for the given vehicle, if needed. More...
 
static void buildVehicleDevices (SUMOVehicle &v, std::vector< MSVehicleDevice *> &into)
 Build devices for the given vehicle, if needed. More...
 
static bool checkOptions (OptionsCont &oc)
 check device-specific options More...
 
static void cleanupAll ()
 perform cleanup for all devices More...
 
static bool equippedByParameter (const MSTransportable *t, const std::string &deviceName, bool outputOptionSet)
 Determines whether a transportable should get a certain device. More...
 
static std::mt19937 * getEquipmentRNG ()
 
template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 
static void insertOptions (OptionsCont &oc)
 Inserts options for building devices. More...
 

Protected Member Functions

void notifyMoveInternal (const SUMOVehicle &veh, const double frontOnLane, const double timeOnLane, const double meanSpeedFrontOnLane, const double meanSpeedVehicleOnLane, const double travelledDistanceFrontOnLane, const double travelledDistanceVehicleOnLane, const double)
 Internal notification about the vehicle moves, see MSMoveReminder::notifyMoveInternal() More...
 
void removeFromVehicleUpdateValues (SUMOVehicle &veh)
 

Static Protected Member Functions

Helper methods for device assignment
static void insertDefaultAssignmentOptions (const std::string &deviceName, const std::string &optionsTopic, OptionsCont &oc, const bool isPerson=false)
 Adds common command options that allow to assign devices to vehicles. More...
 
template<class DEVICEHOLDER >
static bool equippedByDefaultAssignmentOptions (const OptionsCont &oc, const std::string &deviceName, DEVICEHOLDER &v, bool outputOptionSet, const bool isPerson=false)
 Determines whether a vehicle should get a certain device. More...
 
Helper methods for parsing parameters
static std::string getStringParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, std::string deflt, bool required)
 
static double getFloatParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, double deflt, bool required)
 
static bool getBoolParam (const SUMOVehicle &v, const OptionsCont &oc, std::string paramName, bool deflt, bool required)
 

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

 MSDevice_Transportable (SUMOVehicle &holder, const std::string &id, const bool isContainer)
 Constructor. More...
 
 MSDevice_Transportable (const MSDevice_Transportable &)
 Invalidated copy constructor. More...
 
MSDevice_Transportableoperator= (const MSDevice_Transportable &)
 Invalidated assignment operator. More...
 

Private Attributes

bool myAmContainer
 Whether it is a container device. More...
 
bool myStopped
 Whether the vehicle is at a stop. More...
 
std::vector< MSTransportable * > myTransportables
 The passengers of the vehicle. More...
 

Detailed Description

See also
MSDevice

Definition at line 44 of file MSDevice_Transportable.h.

Member Enumeration Documentation

◆ Notification

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.

NOTIFICATION_PARKING_REROUTE 

The vehicle needs another parking area.

Definition at line 89 of file MSMoveReminder.h.

Constructor & Destructor Documentation

◆ ~MSDevice_Transportable()

MSDevice_Transportable::~MSDevice_Transportable ( )

Destructor.

Definition at line 59 of file MSDevice_Transportable.cpp.

◆ MSDevice_Transportable() [1/2]

MSDevice_Transportable::MSDevice_Transportable ( SUMOVehicle holder,
const std::string &  id,
const bool  isContainer 
)
private

Constructor.

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

Definition at line 54 of file MSDevice_Transportable.cpp.

Referenced by buildVehicleDevices(), and getTransportables().

◆ MSDevice_Transportable() [2/2]

MSDevice_Transportable::MSDevice_Transportable ( const MSDevice_Transportable )
private

Invalidated copy constructor.

Member Function Documentation

◆ addTo()

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

Adds this object to the given container.

Parameters

Definition at line 123 of file Named.h.

References Named::StoringVisitor::add().

◆ addTransportable()

void MSDevice_Transportable::addTransportable ( MSTransportable transportable)

◆ buildPersonDevices()

void MSDevice::buildPersonDevices ( MSTransportable p,
std::vector< MSPersonDevice *> &  into 
)
staticinherited

Build devices for the given person, if needed.

Parameters
[in]pThe person for which a device may be built

Definition at line 108 of file MSDevice.cpp.

References MSPersonDevice_Routing::buildDevices().

◆ buildVehicleDevices() [1/2]

MSDevice_Transportable * MSDevice_Transportable::buildVehicleDevices ( SUMOVehicle v,
std::vector< MSVehicleDevice *> &  into,
const bool  isContainer 
)
static

Build devices for the given vehicle, if needed.

The built device is stored in the given vector.

Parameters
[in]vThe vehicle for which a device may be built

Definition at line 44 of file MSDevice_Transportable.cpp.

References SUMOVehicle::getID(), and MSDevice_Transportable().

Referenced by MSBaseVehicle::addContainer(), and MSBaseVehicle::addPerson().

◆ buildVehicleDevices() [2/2]

◆ checkOptions()

bool MSDevice::checkOptions ( OptionsCont oc)
staticinherited

check device-specific options

Parameters

Definition at line 82 of file MSDevice.cpp.

References MSDevice_Routing::checkOptions().

Referenced by MSFrame::checkOptions().

◆ cleanupAll()

void MSDevice::cleanupAll ( )
staticinherited

perform cleanup for all devices

Definition at line 114 of file MSDevice.cpp.

References MSDevice_FCD::cleanup(), MSRoutingEngine::cleanup(), and MSDevice_Tripinfo::cleanup().

Referenced by MSNet::clearAll(), and MSDevice::getEquipmentRNG().

◆ deviceName()

const std::string MSDevice_Transportable::deviceName ( ) const
inlinevirtual

return the name for this type of device

Implements MSDevice.

Definition at line 103 of file MSDevice_Transportable.h.

References addTransportable(), getParameter(), myAmContainer, and removeTransportable().

Referenced by getParameter().

◆ equippedByDefaultAssignmentOptions()

template<class DEVICEHOLDER >
bool MSDevice::equippedByDefaultAssignmentOptions ( const OptionsCont oc,
const std::string &  deviceName,
DEVICEHOLDER &  v,
bool  outputOptionSet,
const bool  isPerson = false 
)
staticprotectedinherited

◆ equippedByParameter()

bool MSDevice::equippedByParameter ( const MSTransportable t,
const std::string &  deviceName,
bool  outputOptionSet 
)
staticinherited

◆ generateOutput()

virtual void MSDevice::generateOutput ( ) const
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.

Exceptions
IOErrornot yet implemented

Reimplemented in MSDevice_SSM, MSDevice_Tripinfo, MSDevice_Example, MSDevice_Bluelight, MSDevice_Vehroutes, and MSDevice_Emissions.

Definition at line 129 of file MSDevice.h.

References MSDevice::loadState(), and MSDevice::saveState().

◆ getBoolParam()

bool MSDevice::getBoolParam ( const SUMOVehicle v,
const OptionsCont oc,
std::string  paramName,
bool  deflt,
bool  required 
)
staticprotectedinherited

◆ getDescription()

◆ getEquipmentRNG()

static std::mt19937* MSDevice::getEquipmentRNG ( )
inlinestaticinherited

◆ getFloatParam()

◆ getHolder()

SUMOVehicle& MSVehicleDevice::getHolder ( ) const
inlineinherited

Returns the vehicle that holds this device.

Returns
The vehicle that holds this device

Definition at line 75 of file MSVehicleDevice.h.

References MSVehicleDevice::myHolder.

Referenced by MSChargingStation::addChargeValueForOutput().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 78 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), libsumo::Helper::applySubscriptionFilters(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), NBEdge::debugPrintConnections(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), GUILane::getColorValue(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_ArcView::load(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), 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()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSPersonDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), MSTransportable::Stage_Trip::setArrived(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), NBRequest::setBlocking(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), 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_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getLane()

◆ getNumericalID()

SUMOVehicle::NumericalID MSVehicleDevice::getNumericalID ( ) const
inlineinherited

Definition at line 79 of file MSVehicleDevice.h.

References SUMOVehicle::getNumericalID(), and MSVehicleDevice::myHolder.

◆ getParameter()

std::string MSDevice_Transportable::getParameter ( const std::string &  key) const
virtual

try to retrieve the given parameter from this device. Throw exception for unsupported key

Reimplemented from MSDevice.

Definition at line 177 of file MSDevice_Transportable.cpp.

References deviceName(), myTransportables, and toString().

Referenced by deviceName().

◆ getStringParam()

std::string MSDevice::getStringParam ( const SUMOVehicle v,
const OptionsCont oc,
std::string  paramName,
std::string  deflt,
bool  required 
)
staticprotectedinherited

◆ getTransportables()

const std::vector<MSTransportable*>& MSDevice_Transportable::getTransportables ( ) const
inline

Returns the list of transportables using this vehicle.

Returns
transportables within this vehicle

Definition at line 135 of file MSDevice_Transportable.h.

References MSDevice_Transportable(), myTransportables, and notifyMoveInternal().

Referenced by GUIBaseVehicle::drawAction_drawPersonsAndContainers(), MSBaseVehicle::getContainers(), MSBaseVehicle::getPersons(), and MSVehicle::processNextStop().

◆ insertDefaultAssignmentOptions()

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

◆ insertOptions()

◆ loadState()

void MSDevice::loadState ( const SUMOSAXAttributes attrs)
virtualinherited

Loads the state of the device from the given description.

The default implementation does nothing.

Parameters
[in]attrsXML attributes describing the current state

Reimplemented in MSDevice_Tripinfo, MSDevice_Vehroutes, MSDevice_Routing, and MSPersonDevice_Routing.

Definition at line 155 of file MSDevice.cpp.

Referenced by MSDevice::generateOutput().

◆ notifyEnter()

bool MSDevice_Transportable::notifyEnter ( SUMOVehicle veh,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtual

Adds passengers on vehicle insertion.

Parameters
[in]vehThe entering vehicle.
[in]reasonhow the vehicle enters the lane
Returns
Always true
See also
MSMoveReminder::notifyEnter
MSMoveReminder::Notification

Reimplemented from MSMoveReminder.

Definition at line 116 of file MSDevice_Transportable.cpp.

References MSNet::getInstance(), myTransportables, and MSMoveReminder::NOTIFICATION_DEPARTED.

◆ notifyLeave()

bool MSDevice_Transportable::notifyLeave ( SUMOVehicle veh,
double  lastPos,
MSMoveReminder::Notification  reason,
const MSLane enteredLane = 0 
)
virtual

Passengers leaving on arrival.

Parameters
[in]vehThe leaving vehicle.
[in]lastPosPosition on the lane when leaving.
[in]isArrivalwhether the vehicle arrived at its destination
[in]isLaneChangewhether the vehicle changed from the lane
Returns
True if it did not leave the net.

Reimplemented from MSMoveReminder.

Definition at line 127 of file MSDevice_Transportable.cpp.

References MSTransportableControl::erase(), MSNet::getContainerControl(), MSNet::getCurrentTimeStep(), MSTransportable::getDestination(), SUMOVehicle::getEdge(), Named::getID(), MSTransportable::getID(), MSNet::getInstance(), MSNet::getPersonControl(), myAmContainer, myTransportables, MSMoveReminder::NOTIFICATION_ARRIVED, MSTransportable::proceed(), and WRITE_WARNING.

◆ notifyMove()

bool MSDevice_Transportable::notifyMove ( SUMOVehicle veh,
double  oldPos,
double  newPos,
double  newSpeed 
)
virtual

Checks whether the vehicle is at a stop and transportable action is needed.

Parameters
[in]vehThe regarded vehicle
[in]oldPosPosition before the move-micro-timestep.
[in]newPosPosition after the move-micro-timestep.
[in]newSpeedThe vehicle's current speed
Returns
false, if the vehicle is beyond the lane, true otherwise
See also
MSMoveReminder
MSMoveReminder::notifyMove

Reimplemented from MSMoveReminder.

Definition at line 76 of file MSDevice_Transportable.cpp.

References MSStopOut::active(), MSTransportableControl::erase(), MSNet::getContainerControl(), MSNet::getCurrentTimeStep(), MSTransportable::getDestination(), SUMOVehicle::getEdge(), MSStopOut::getInstance(), MSNet::getInstance(), MSNet::getPersonControl(), SUMOVehicle::isStopped(), myAmContainer, myStopped, myTransportables, MSTransportable::proceed(), MSStopOut::unloadedContainers(), and MSStopOut::unloadedPersons().

Referenced by notifyMoveInternal().

◆ notifyMoveInternal()

void MSDevice_Transportable::notifyMoveInternal ( const SUMOVehicle veh,
const double  frontOnLane,
const double  timeOnLane,
const double  meanSpeedFrontOnLane,
const double  meanSpeedVehicleOnLane,
const double  travelledDistanceFrontOnLane,
const double  travelledDistanceVehicleOnLane,
const double   
)
protectedvirtual

Internal notification about the vehicle moves, see MSMoveReminder::notifyMoveInternal()

Reimplemented from MSMoveReminder.

Definition at line 63 of file MSDevice_Transportable.cpp.

References notifyMove().

Referenced by getTransportables().

◆ operator=()

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

Invalidated assignment operator.

◆ removeFromVehicleUpdateValues()

void MSMoveReminder::removeFromVehicleUpdateValues ( SUMOVehicle veh)
protectedinherited

◆ removeTransportable()

void MSDevice_Transportable::removeTransportable ( MSTransportable transportable)

Remove a passenger (TraCI)

Parameters
[in]transportableThe passenger / container to remove.

Definition at line 164 of file MSDevice_Transportable.cpp.

References MSStopOut::active(), MSStopOut::getInstance(), SUMOVehicle::isStopped(), MSStopOut::loadedContainers(), MSStopOut::loadedPersons(), myAmContainer, MSVehicleDevice::myHolder, and myTransportables.

Referenced by deviceName(), and MSBaseVehicle::removeTransportable().

◆ saveState()

void MSDevice::saveState ( OutputDevice out) const
virtualinherited

Saves the state of the device.

The default implementation writes a warning and does nothing.

Parameters
[in]outThe OutputDevice to write the information into

Reimplemented in MSDevice_Tripinfo, MSDevice_Vehroutes, MSDevice_Routing, MSPersonDevice_Routing, and MSDevice_FCD.

Definition at line 149 of file MSDevice.cpp.

References Named::getID(), and WRITE_WARNING.

Referenced by MSDevice::generateOutput().

◆ setDescription()

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

◆ setID()

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

◆ setParameter()

virtual void MSDevice::setParameter ( const std::string &  key,
const std::string &  value 
)
inlinevirtualinherited

◆ size()

int MSDevice_Transportable::size ( ) const
inline

Return the number of passengers / containers.

Returns
The number of stored transportables

Definition at line 127 of file MSDevice_Transportable.h.

References myTransportables.

Referenced by MSBaseVehicle::getContainerNumber(), GUIVehicle::getNumPassengers(), and MSBaseVehicle::getPersonNumber().

◆ updateDetector()

void MSMoveReminder::updateDetector ( SUMOVehicle veh,
double  entryPos,
double  leavePos,
SUMOTime  entryTime,
SUMOTime  currentTime,
SUMOTime  leaveTime,
bool  cleanUp 
)
inherited

Field Documentation

◆ myAmContainer

bool MSDevice_Transportable::myAmContainer
private

Whether it is a container device.

Definition at line 164 of file MSDevice_Transportable.h.

Referenced by addTransportable(), deviceName(), notifyLeave(), notifyMove(), and removeTransportable().

◆ myDescription

std::string MSMoveReminder::myDescription
protectedinherited

a description of this moveReminder

Definition at line 240 of file MSMoveReminder.h.

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

◆ myHolder

◆ myID

std::string Named::myID
protectedinherited

◆ myLane

◆ myStopped

bool MSDevice_Transportable::myStopped
private

Whether the vehicle is at a stop.

Definition at line 170 of file MSDevice_Transportable.h.

Referenced by notifyMove().

◆ myTransportables

std::vector<MSTransportable*> MSDevice_Transportable::myTransportables
private

The passengers of the vehicle.

Definition at line 167 of file MSDevice_Transportable.h.

Referenced by addTransportable(), getParameter(), getTransportables(), notifyEnter(), notifyLeave(), notifyMove(), removeTransportable(), and size().


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