![]() |
Eclipse SUMO - Simulation of Urban MObility
|
The class responsible for building and deletion of vehicles (gui-version) More...
#include <MEVehicleControl.h>
Public Types | |
typedef std::map< std::string, SUMOVehicle * >::const_iterator | constVehIt |
Definition of the internal vehicles map iterator. More... | |
Public Member Functions | |
void | abortWaiting () |
informes about all waiting vehicles (deletion in destructor) More... | |
void | adaptIntermodalRouter (MSNet::MSIntermodalRouter &router) const |
void | discountStateLoaded (bool removed=false) |
avoid counting a vehicle twice if it was loaded from state and route input More... | |
double | getMaxSpeedFactor () const |
return the maximum speed factor for all vehicles that ever entered the network More... | |
double | getMinDeceleration () const |
return the minimum deceleration capability for all vehicles that ever entered the network More... | |
MEVehicleControl () | |
Constructor. More... | |
void | registerCollision () |
registers one collision-related teleport More... | |
void | registerEmergencyStop () |
register emergency stop More... | |
void | registerOneWaiting (const bool isPerson) |
increases the count of vehicles waiting for a transport to allow recognition of person / container related deadlocks More... | |
void | registerTeleportJam () |
register one non-collision-related teleport More... | |
void | registerTeleportWrongLane () |
register one non-collision-related teleport More... | |
void | registerTeleportYield () |
register one non-collision-related teleport More... | |
void | setScale (double scale) |
sets the demand scaling factor More... | |
void | unregisterOneWaiting (const bool isPerson) |
decreases the count of vehicles waiting for a transport to allow recognition of person / container related deadlocks More... | |
~MEVehicleControl () | |
Destructor. More... | |
Vehicle creation | |
virtual SUMOVehicle * | buildVehicle (SUMOVehicleParameter *defs, const MSRoute *route, MSVehicleType *type, const bool ignoreStopErrors, const bool fromRouteFile=true) |
Builds a vehicle, increases the number of built vehicles. More... | |
Insertion, deletion and retrieval of vehicles | |
virtual bool | addVehicle (const std::string &id, SUMOVehicle *v) |
Tries to insert the vehicle into the internal vehicle container. More... | |
SUMOVehicle * | getVehicle (const std::string &id) const |
Returns the vehicle with the given id. More... | |
virtual void | deleteVehicle (SUMOVehicle *v, bool discard=false) |
Deletes the vehicle. More... | |
void | scheduleVehicleRemoval (SUMOVehicle *veh, bool checkDuplicate=false) |
Removes a vehicle after it has ended. More... | |
void | removePending () |
Removes a vehicle after it has ended. More... | |
constVehIt | loadedVehBegin () const |
Returns the begin of the internal vehicle map. More... | |
constVehIt | loadedVehEnd () const |
Returns the end of the internal vehicle map. More... | |
Setting vehicle statistics | |
void | vehicleDeparted (const SUMOVehicle &v) |
Informs this control about a vehicle's departure. More... | |
Retrieval of vehicle statistics (always accessable) | |
int | getLoadedVehicleNo () const |
Returns the number of build vehicles. More... | |
virtual int | getHaltingVehicleNo () const |
Returns the number of halting vehicles. More... | |
virtual std::pair< double, double > | getVehicleMeanSpeeds () const |
get current absolute and relative mean vehicle speed in the network More... | |
double | getVehicleMeanSpeed () const |
double | getVehicleMeanSpeedRelative () const |
int | getEndedVehicleNo () const |
Returns the number of removed vehicles. More... | |
int | getArrivedVehicleNo () const |
Returns the number of arrived vehicles. More... | |
int | getDiscardedVehicleNo () const |
Returns the number of discarded vehicles. More... | |
int | getRunningVehicleNo () const |
Returns the number of build and inserted, but not yet deleted vehicles. More... | |
int | getDepartedVehicleNo () const |
Returns the number of inserted vehicles. More... | |
int | getQuota (double frac=-1) const |
Returns the number of instances of the current vehicle that shall be emitted considering that "frac" of all vehicles shall be emitted overall if a negative fraction is given the demand scaling factor is used (–scale) More... | |
int | getActiveVehicleCount () const |
Returns the number of build vehicles that have not been removed or need to wait for a passenger or a container. More... | |
int | getCollisionCount () const |
return the number of collisions More... | |
int | getTeleportsJam () const |
return the number of teleports due to jamming More... | |
int | getTeleportsYield () const |
return the number of teleports due to vehicles stuck on a minor road More... | |
int | getTeleportsWrongLane () const |
return the number of teleports due to vehicles stuck on the wrong lane More... | |
int | getTeleportCount () const |
return the number of teleports (including collisions) More... | |
int | getEmergencyStops () const |
return the number of emergency stops More... | |
double | getTotalDepartureDelay () const |
Returns the total departure delay. More... | |
double | getTotalTravelTime () const |
Returns the total travel time. More... | |
Insertion and retrieval of vehicle types | |
bool | addVType (MSVehicleType *vehType) |
Adds a vehicle type. More... | |
void | removeVType (const MSVehicleType *vehType) |
bool | addVTypeDistribution (const std::string &id, RandomDistributor< MSVehicleType * > *vehTypeDistribution) |
Adds a vehicle type distribution. More... | |
bool | hasVType (const std::string &id) const |
Asks for existence of a vehicle type. More... | |
bool | hasVTypeDistribution (const std::string &id) const |
Asks for a vehicle type distribution. More... | |
MSVehicleType * | getVType (const std::string &id=DEFAULT_VTYPE_ID, std::mt19937 *rng=nullptr) |
Returns the named vehicle type or a sample from the named distribution. More... | |
void | insertVTypeIDs (std::vector< std::string > &into) const |
Inserts ids of all known vehicle types and vehicle type distributions to the given vector. More... | |
const std::set< std::string > | getVTypeDistributionMembership (const std::string &id) const |
Return the distribution IDs the vehicle type is a member of. More... | |
State I/O | |
void | setState (int runningVehNo, int loadedVehNo, int endedVehNo, double totalDepartureDelay, double totalTravelTime) |
Sets the current state variables as loaded from the stream. More... | |
void | saveState (OutputDevice &out) |
Saves the current state into the given stream. More... | |
Private Member Functions | |
bool | checkVType (const std::string &id) |
Checks whether the vehicle type (distribution) may be added. More... | |
bool | isPendingRemoval (SUMOVehicle *veh) |
whether the given vehicle is scheduled for removal More... | |
MEVehicleControl (const MEVehicleControl &s) | |
invalidated copy constructor More... | |
MEVehicleControl & | operator= (const MEVehicleControl &s) |
invalidated assignment operator More... | |
Private Attributes | |
Vehicle statistics | |
double | myTotalDepartureDelay |
The aggregated time vehicles had to wait for departure (in seconds) More... | |
double | myTotalTravelTime |
The aggregated time vehicles needed to aacomplish their route (in seconds) More... | |
Vehicle statistics (always accessible) | |
int | myLoadedVehNo |
The number of build vehicles. More... | |
int | myRunningVehNo |
The number of vehicles within the network (build and inserted but not removed) More... | |
int | myEndedVehNo |
The number of removed vehicles. More... | |
int | myDiscarded |
The number of vehicles which were discarded while loading. More... | |
int | myCollisions |
The number of collisions. More... | |
int | myTeleportsJam |
The number of teleports due to jam. More... | |
int | myTeleportsYield |
The number of teleports due to vehicles stuck on a minor road. More... | |
int | myTeleportsWrongLane |
The number of teleports due to vehicles stuck on the wrong lane. More... | |
int | myEmergencyStops |
The number of emergency stops. More... | |
Vehicle container | |
typedef std::map< std::string, SUMOVehicle * > | VehicleDictType |
Vehicle dictionary type. More... | |
VehicleDictType | myVehicleDict |
Dictionary of vehicles. More... | |
Vehicle type container | |
typedef std::map< std::string, MSVehicleType * > | VTypeDictType |
Vehicle type dictionary type. More... | |
typedef std::map< std::string, RandomDistributor< MSVehicleType * > * > | VTypeDistDictType |
Vehicle type distribution dictionary type. More... | |
VTypeDictType | myVTypeDict |
Dictionary of vehicle types. More... | |
VTypeDistDictType | myVTypeDistDict |
A distribution of vehicle types (probability->vehicle type) More... | |
std::map< std::string, std::set< std::string > > | myVTypeToDist |
Inverse lookup from vehicle type to distributions it is a member of. More... | |
bool | myDefaultVTypeMayBeDeleted |
Whether the default vehicle type was already used or can still be replaced. More... | |
bool | myDefaultPedTypeMayBeDeleted |
Whether the default pedestrian type was already used or can still be replaced. More... | |
bool | myDefaultBikeTypeMayBeDeleted |
Whether the default bicycle type was already used or can still be replaced. More... | |
int | myWaitingForPerson |
the number of vehicles wainting for persons contained in myWaiting which can only continue by being triggered More... | |
int | myWaitingForContainer |
the number of vehicles wainting for containers contained in myWaiting which can only continue by being triggered More... | |
double | myScale |
The scaling factor (especially for inc-dua) More... | |
double | myMaxSpeedFactor |
The maximum speed factor for all vehicles in the network. More... | |
double | myMinDeceleration |
The minimum deceleration capability for all vehicles in the network. More... | |
std::vector< SUMOVehicle * > | myPTVehicles |
List of vehicles which belong to public transport. More... | |
std::vector< SUMOVehicle * > | myPendingRemovals |
List of vehicles which are going to be removed. More... | |
The class responsible for building and deletion of vehicles (gui-version)
Builds GUIVehicle instances instead of MSVehicle.
This is partially unsecure due to concurrent access...
Recheck vehicle deletion
Definition at line 42 of file MEVehicleControl.h.
|
inherited |
Definition of the internal vehicles map iterator.
Definition at line 74 of file MSVehicleControl.h.
|
protectedinherited |
Vehicle dictionary type.
Definition at line 567 of file MSVehicleControl.h.
|
privateinherited |
Vehicle type dictionary type.
Definition at line 578 of file MSVehicleControl.h.
|
privateinherited |
Vehicle type distribution dictionary type.
Definition at line 583 of file MSVehicleControl.h.
MEVehicleControl::MEVehicleControl | ( | ) |
Constructor.
Definition at line 39 of file MEVehicleControl.cpp.
MEVehicleControl::~MEVehicleControl | ( | ) |
Destructor.
Definition at line 43 of file MEVehicleControl.cpp.
|
private |
invalidated copy constructor
|
inherited |
informes about all waiting vehicles (deletion in destructor)
Definition at line 394 of file MSVehicleControl.cpp.
References MSVehicleControl::myVehicleDict, and WRITE_WARNING.
Referenced by MSNet::simulationState().
|
inherited |
Definition at line 461 of file MSVehicleControl.cpp.
References IntermodalNetwork< E, L, N, V >::addSchedule(), MSRoute::dictionary(), IntermodalRouter< E, L, N, V >::getNetwork(), MSRoute::getStops(), and MSVehicleControl::myPTVehicles.
Referenced by MSNet::adaptIntermodalRouter().
|
virtualinherited |
Tries to insert the vehicle into the internal vehicle container.
Checks whether another vehicle with the same id exists; returns false if so. Otherwise, the vehicle is added to "myVehicleDict". It also checks whether the vehicle has a "triggered" departure and registers it accordingly.
The vehicle control gets responsible for vehicle deletion.
[in] | id | The id of the vehicle |
[in] | v | The vehicle |
Reimplemented in GUIVehicleControl, and GUIMEVehicleControl.
Definition at line 215 of file MSVehicleControl.cpp.
References MSEdge::addWaiting(), DEPART_CONTAINER_TRIGGERED, DEPART_TRIGGERED, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departProcedure, MSRoute::getEdges(), MSEdge::getLanes(), SUMOVehicle::getParameter(), SUMOVehicle::getRoute(), MSGlobals::gUseMesoSim, SUMOVehicleParameter::line, MSVehicleControl::myPTVehicles, MSVehicleControl::myVehicleDict, MSVehicleControl::registerOneWaiting(), and SUMOVehicleParameter::repetitionNumber.
Referenced by libsumo::Vehicle::add(), GUIMEVehicleControl::addVehicle(), GUIVehicleControl::addVehicle(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSCalibrator::execute(), MSTransportable::Stage_Trip::setArrived(), and METriggeredCalibrator::tryEmit().
|
inherited |
Adds a vehicle type.
If another vehicle type (or distribution) with the same id exists, false is returned. Otherwise, the vehicle type is added to the internal vehicle type container "myVTypeDict".
This control get responsible for deletion of the added vehicle type.
[in] | vehType | The vehicle type to add |
Definition at line 301 of file MSVehicleControl.cpp.
References MSVehicleControl::checkVType(), MSVehicleType::getID(), and MSVehicleControl::myVTypeDict.
|
inherited |
Adds a vehicle type distribution.
If another vehicle type (or distribution) with the same id exists, false is returned. Otherwise, the vehicle type distribution is added to the internal vehicle type distribution container "myVTypeDistDict".
This control get responsible for deletion of the added vehicle type distribution.
[in] | id | The id of the distribution to add |
[in] | vehTypeDistribution | The vehicle type distribution to add |
Definition at line 323 of file MSVehicleControl.cpp.
References MSVehicleControl::checkVType(), RandomDistributor< T >::getVals(), MSVehicleControl::myVTypeDistDict, and MSVehicleControl::myVTypeToDist.
|
virtual |
Builds a vehicle, increases the number of built vehicles.
Instead of a MSVehicle, a GUIVehicle is built
[in] | defs | The parameter defining the vehicle |
[in] | route | The route of this vehicle |
[in] | type | The type of this vehicle |
[in] | ignoreStopErrors | whether invalid stops trigger a warning only |
[in] | fromRouteFile | whether we are just reading the route file or creating via trigger, traci, ... |
Reimplemented from MSVehicleControl.
Reimplemented in GUIMEVehicleControl.
Definition at line 47 of file MEVehicleControl.cpp.
References MSBaseVehicle::addStops(), MSVehicleType::computeChosenSpeedDeviation(), MSNet::getInstance(), MSRouteHandler::getParsingRNG(), MSNet::informVehicleStateListener(), MSVehicleControl::myLoadedVehNo, and MSNet::VEHICLE_STATE_BUILT.
|
privateinherited |
Checks whether the vehicle type (distribution) may be added.
This method checks also whether the default type may still be replaced
[in] | id | The id of the vehicle type (distribution) to add |
Definition at line 267 of file MSVehicleControl.cpp.
References DEFAULT_BIKETYPE_ID, DEFAULT_PEDTYPE_ID, DEFAULT_VTYPE_ID, MSVehicleControl::myDefaultBikeTypeMayBeDeleted, MSVehicleControl::myDefaultPedTypeMayBeDeleted, MSVehicleControl::myDefaultVTypeMayBeDeleted, MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by MSVehicleControl::addVType(), and MSVehicleControl::addVTypeDistribution().
|
virtualinherited |
Deletes the vehicle.
[in] | v | The vehicle to delete |
[discard] | Whether the vehicle is discard during loading (scale < 1) |
Reimplemented in GUIVehicleControl, and GUIMEVehicleControl.
Definition at line 250 of file MSVehicleControl.cpp.
References SUMOTrafficObject::getID(), MSVehicleControl::myDiscarded, MSVehicleControl::myEndedVehNo, MSVehicleControl::myPTVehicles, and MSVehicleControl::myVehicleDict.
Referenced by MSInsertionControl::clearPendingVehicles(), MSRouteHandler::closeVehicle(), GUIMEVehicleControl::deleteVehicle(), GUIVehicleControl::deleteVehicle(), MSInsertionControl::determineCandidates(), METriggeredCalibrator::execute(), MSCalibrator::execute(), libsumo::Simulation::findIntermodalRoute(), libsumo::Simulation::findRoute(), libsumo::Vehicle::remove(), MSVehicleControl::removePending(), MSTransportable::Stage_Trip::setArrived(), and MSInsertionControl::tryInsert().
|
inlineinherited |
avoid counting a vehicle twice if it was loaded from state and route input
Definition at line 472 of file MSVehicleControl.h.
References MSVehicleControl::myDiscarded, MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, and MSVehicleControl::myRunningVehNo.
Referenced by MSStateHandler::closeVehicle(), and MSInsertionControl::determineCandidates().
|
inlineinherited |
Returns the number of build vehicles that have not been removed or need to wait for a passenger or a container.
Definition at line 283 of file MSVehicleControl.h.
References MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, MSVehicleControl::myWaitingForContainer, and MSVehicleControl::myWaitingForPerson.
Referenced by libsumo::Simulation::getMinExpectedNumber(), and MSNet::simulationState().
|
inlineinherited |
Returns the number of arrived vehicles.
Definition at line 242 of file MSVehicleControl.h.
References MSVehicleControl::myDiscarded, and MSVehicleControl::myEndedVehNo.
Referenced by GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
return the number of collisions
Definition at line 289 of file MSVehicleControl.h.
References MSVehicleControl::myCollisions.
Referenced by GUIApplicationWindow::checkGamingEvents(), MSNet::generateStatistics(), GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
Returns the number of inserted vehicles.
Definition at line 265 of file MSVehicleControl.h.
References MSVehicleControl::myDiscarded, MSVehicleControl::myEndedVehNo, and MSVehicleControl::myRunningVehNo.
Referenced by MSNet::generateStatistics(), GUINet::getParameterWindow(), MSNet::postSimStepOutput(), and MSNet::writeOutput().
|
inlineinherited |
Returns the number of discarded vehicles.
Definition at line 249 of file MSVehicleControl.h.
References MSVehicleControl::myDiscarded.
Referenced by GUINet::getParameterWindow().
|
inlineinherited |
return the number of emergency stops
Definition at line 312 of file MSVehicleControl.h.
References MSVehicleControl::myEmergencyStops.
Referenced by MSNet::generateStatistics().
|
inlineinherited |
Returns the number of removed vehicles.
Definition at line 235 of file MSVehicleControl.h.
References MSVehicleControl::myEndedVehNo.
Referenced by MSNet::writeOutput().
|
virtualinherited |
Returns the number of halting vehicles.
Reimplemented in GUIVehicleControl.
Definition at line 402 of file MSVehicleControl.cpp.
References SUMOTrafficObject::getSpeed(), SUMOVehicle::isOnRoad(), SUMOVehicle::isRemoteControlled(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), and SUMO_const_haltingSpeed.
Referenced by GUIVehicleControl::getHaltingVehicleNo(), GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
Returns the number of build vehicles.
Definition at line 213 of file MSVehicleControl.h.
References MSVehicleControl::myLoadedVehNo.
Referenced by MSNet::generateStatistics(), GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
return the maximum speed factor for all vehicles that ever entered the network
Definition at line 488 of file MSVehicleControl.h.
References MSVehicleControl::myMaxSpeedFactor.
Referenced by MSLane::getMaximumBrakeDist().
|
inlineinherited |
return the minimum deceleration capability for all vehicles that ever entered the network
Definition at line 493 of file MSVehicleControl.h.
References MSVehicleControl::myMinDeceleration.
Referenced by MSLane::getMaximumBrakeDist().
|
inherited |
Returns the number of instances of the current vehicle that shall be emitted considering that "frac" of all vehicles shall be emitted overall if a negative fraction is given the demand scaling factor is used (–scale)
Definition at line 437 of file MSVehicleControl.cpp.
References MSVehicleControl::myLoadedVehNo, and MSVehicleControl::myScale.
Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), and MSDevice::equippedByDefaultAssignmentOptions().
|
inlineinherited |
Returns the number of build and inserted, but not yet deleted vehicles.
Definition at line 257 of file MSVehicleControl.h.
References MSVehicleControl::myRunningVehNo.
Referenced by MSNet::generateStatistics(), GUINet::getParameterWindow(), GUIApplicationWindow::handleEvent_SimulationStep(), MSNet::postSimStepOutput(), GUINet::setSimDuration(), MSNet::simulationStep(), and MSNet::writeOutput().
|
inherited |
return the number of teleports (including collisions)
Definition at line 455 of file MSVehicleControl.cpp.
References MSVehicleControl::myCollisions, MSVehicleControl::myTeleportsJam, MSVehicleControl::myTeleportsWrongLane, MSVehicleControl::myTeleportsYield, and MSLane::teleportOnCollision().
Referenced by MSNet::generateStatistics(), GUINet::getParameterWindow(), MSNet::simulationState(), and MSNet::writeOutput().
|
inlineinherited |
return the number of teleports due to jamming
Definition at line 294 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsJam.
Referenced by MSNet::generateStatistics().
|
inlineinherited |
return the number of teleports due to vehicles stuck on the wrong lane
Definition at line 304 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsWrongLane.
Referenced by MSNet::generateStatistics().
|
inlineinherited |
return the number of teleports due to vehicles stuck on a minor road
Definition at line 299 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsYield.
Referenced by MSNet::generateStatistics().
|
inlineinherited |
Returns the total departure delay.
Definition at line 319 of file MSVehicleControl.h.
References MSVehicleControl::myTotalDepartureDelay.
Referenced by MSNet::writeOutput().
|
inlineinherited |
Returns the total travel time.
Definition at line 327 of file MSVehicleControl.h.
References MSVehicleControl::myTotalTravelTime.
Referenced by MSNet::writeOutput().
|
inherited |
Returns the vehicle with the given id.
If no vehicle with the given id is store din "myVehicleDict", 0 is returned.
[in] | id | The id of the vehicle to retrieve |
Definition at line 240 of file MSVehicleControl.cpp.
References MSVehicleControl::myVehicleDict.
Referenced by libsumo::Vehicle::add(), MSStateHandler::closeVehicle(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSCFModel_CC::getRadarMeasurements(), libsumo::Polygon::getTrafficObject(), libsumo::Helper::getVehicle(), libsumo::Vehicle::isOnInit(), MSVehicleTransfer::loadState(), MESegment::loadState(), MSLane::loadState(), MSRouteHandler::myStartElement(), MSPerson::MSPersonStage_Driving::proceed(), MSDevice_SSM::processEncounters(), TraCIServerAPI_GUI::processSet(), TraCIServerAPI_Vehicle::processSet(), MSCalibrator::removePending(), and GUINet::vehicleExists().
|
inlineinherited |
Definition at line 225 of file MSVehicleControl.h.
References MSVehicleControl::getVehicleMeanSpeeds().
Referenced by GUINet::getParameterWindow().
|
inlineinherited |
Definition at line 228 of file MSVehicleControl.h.
References MSVehicleControl::getVehicleMeanSpeeds().
Referenced by GUINet::getParameterWindow().
|
virtualinherited |
get current absolute and relative mean vehicle speed in the network
Reimplemented in GUIVehicleControl.
Definition at line 416 of file MSVehicleControl.cpp.
References SUMOTrafficObject::getEdge(), SUMOTrafficObject::getSpeed(), MSEdge::getSpeedLimit(), SUMOVehicle::isOnRoad(), SUMOVehicle::isRemoteControlled(), SUMOTrafficObject::isStopped(), MSVehicleControl::loadedVehBegin(), and MSVehicleControl::loadedVehEnd().
Referenced by MSVehicleControl::getVehicleMeanSpeed(), MSVehicleControl::getVehicleMeanSpeedRelative(), GUIVehicleControl::getVehicleMeanSpeeds(), and MSNet::writeOutput().
|
inherited |
Returns the named vehicle type or a sample from the named distribution.
[in] | id | The id of the vehicle type to return. If left out, the default type is returned. |
Definition at line 353 of file MSVehicleControl.cpp.
References DEFAULT_PEDTYPE_ID, DEFAULT_VTYPE_ID, MSVehicleControl::myDefaultPedTypeMayBeDeleted, MSVehicleControl::myDefaultVTypeMayBeDeleted, MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by libsumo::Person::add(), libsumo::Vehicle::add(), MSRouteHandler::addPersonTrip(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), MSRouteHandler::closePersonFlow(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), METriggeredCalibrator::execute(), MSCalibrator::execute(), libsumo::Simulation::findIntermodalRoute(), libsumo::Simulation::findRoute(), libsumo::VehicleType::getVType(), MSDevice_ToC::initColorScheme(), MSDevice_ToC::MSDevice_ToC(), MSRouteHandler::myStartElement(), MSCalibrator::myStartElement(), MSDevice_Bluelight::notifyMove(), MSRouteHandler::openVehicleTypeDistribution(), METriggeredCalibrator::remainingVehicleCapacity(), MSCalibrator::remainingVehicleCapacity(), MSTransportable::Stage_Trip::setArrived(), MSDevice_ToC::setParameter(), libsumo::Person::setType(), libsumo::Vehicle::setType(), MSDevice_ToC::switchHolderType(), and MSMeanData_Emissions::MSLaneMeanDataValues::write().
|
inherited |
Return the distribution IDs the vehicle type is a member of.
[in] | vehType | The vehicle type to look for membership in distributions |
Definition at line 384 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeToDist.
Referenced by MSDevice_ToC::MSDevice_ToC(), MSDetectorFileOutput::vehicleApplies(), and MSTriggeredRerouter::vehicleApplies().
|
inherited |
Asks for existence of a vehicle type.
If vehicle type or distribution with the id exists, true is returned, false otherwise.
[in] | id | The id of the type or distribution |
Definition at line 341 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by libsumo::Simulation::findIntermodalRoute(), and MSDevice_ToC::MSDevice_ToC().
|
inherited |
Asks for a vehicle type distribution.
If vehicle type distribution with the id exists, true is returned, false otherwise.
[in] | id | The id of the distribution |
Definition at line 347 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeDistDict.
Referenced by MSDevice_ToC::MSDevice_ToC().
|
inherited |
Inserts ids of all known vehicle types and vehicle type distributions to the given vector.
[in] | into | The vector to fill with ids |
Definition at line 372 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by libsumo::VehicleType::getIDList().
|
privateinherited |
whether the given vehicle is scheduled for removal
Definition at line 126 of file MSVehicleControl.cpp.
References MSVehicleControl::myPendingRemovals.
Referenced by MSVehicleControl::scheduleVehicleRemoval().
|
inlineinherited |
Returns the begin of the internal vehicle map.
Definition at line 177 of file MSVehicleControl.h.
References MSVehicleControl::myVehicleDict.
Referenced by GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), MSVTypeProbe::execute(), MSVehicleControl::getHaltingVehicleNo(), libsumo::Vehicle::getIDList(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), MSVehicleControl::getVehicleMeanSpeeds(), GUIViewTraffic::getVehicleParamKeys(), MSDevice_Bluelight::notifyMove(), GUIViewTraffic::onGamingClick(), MSVehicleType::setActionStepLength(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), and MSFullExport::writeVehicles().
|
inlineinherited |
Returns the end of the internal vehicle map.
Definition at line 185 of file MSVehicleControl.h.
References MSVehicleControl::myVehicleDict.
Referenced by GUIApplicationWindow::checkGamingEvents(), GUIApplicationWindow::checkGamingEventsDRT(), MSVTypeProbe::execute(), MSVehicleControl::getHaltingVehicleNo(), libsumo::Vehicle::getIDList(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), MSVehicleControl::getVehicleMeanSpeeds(), GUIViewTraffic::getVehicleParamKeys(), MSDevice_Bluelight::notifyMove(), GUIViewTraffic::onGamingClick(), MSVehicleType::setActionStepLength(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), and MSFullExport::writeVehicles().
|
private |
invalidated assignment operator
|
inlineinherited |
registers one collision-related teleport
Definition at line 435 of file MSVehicleControl.h.
References MSVehicleControl::myCollisions.
Referenced by MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), MSLane::executeMovements(), and MSLane::handleCollisionBetween().
|
inlineinherited |
register emergency stop
Definition at line 455 of file MSVehicleControl.h.
References MSVehicleControl::myEmergencyStops.
Referenced by MSVehicle::executeMove().
|
inlineinherited |
increases the count of vehicles waiting for a transport to allow recognition of person / container related deadlocks
Definition at line 416 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForContainer, and MSVehicleControl::myWaitingForPerson.
Referenced by MSVehicleControl::addVehicle(), and MSVehicle::processNextStop().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 440 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsJam.
Referenced by MSLane::executeMovements(), and MELoop::teleportVehicle().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 450 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsWrongLane.
Referenced by MSLane::executeMovements().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 445 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsYield.
Referenced by MSLane::executeMovements().
|
inherited |
Removes a vehicle after it has ended.
Writes output to tripinfos and vehroutes if wished; decrements the number of running vehicles and increments the number of ended vehicles. Then deletes the vehicle using "deleteVehicle".
This method should be called for each vehicle that was inserted into the network and quits its ride.
[in] | veh | The vehicle to remove |
Definition at line 135 of file MSVehicleControl.cpp.
References OutputDevice::closeTag(), MSVehicleControl::deleteVehicle(), OutputDevice::flush(), OutputDevice::getDeviceByOption(), MSNet::getInstance(), OptionsCont::getOptions(), MSNet::informVehicleStateListener(), OptionsCont::isSet(), MSVehicleControl::myPendingRemovals, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalTravelTime, STEPS2TIME, and MSNet::VEHICLE_STATE_ARRIVED.
Referenced by MSEdgeControl::executeMovements(), and MSNet::simulationStep().
|
inherited |
Definition at line 311 of file MSVehicleControl.cpp.
References MSVehicleType::getID(), MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeToDist.
Referenced by MSBaseVehicle::replaceVehicleType(), MSTransportable::replaceVehicleType(), MSTransportable::~MSTransportable(), and MSVehicle::~MSVehicle().
|
inherited |
Saves the current state into the given stream.
Definition at line 191 of file MSVehicleControl.cpp.
References OutputDevice::closeTag(), MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalDepartureDelay, MSVehicleControl::myTotalTravelTime, MSVehicleControl::myVehicleDict, MSVehicleControl::myVTypeDict, MSVehicleControl::myVTypeDistDict, OutputDevice::openTag(), SUMO_ATTR_BEGIN, SUMO_ATTR_DEPART, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_ATTR_NUMBER, SUMO_ATTR_PROBS, SUMO_ATTR_TIME, SUMO_ATTR_VTYPES, SUMO_TAG_DELAY, SUMO_TAG_VTYPE_DISTRIBUTION, and OutputDevice::writeAttr().
Referenced by MSStateHandler::saveState().
|
inherited |
Removes a vehicle after it has ended.
Writes output to tripinfos and vehroutes if wished; decrements the number of running vehicles and increments the number of ended vehicles. Then deletes the vehicle using "deleteVehicle".
This method should be called for each vehicle that was inserted into the network and quits its ride.
[in] | veh | The vehicle to remove |
Definition at line 117 of file MSVehicleControl.cpp.
References MSVehicleControl::isPendingRemoval(), MSVehicleControl::myPendingRemovals, and MSVehicleControl::myRunningVehNo.
Referenced by MSVehicleTransfer::add(), MELoop::changeSegment(), MSVehicleTransfer::checkInsertions(), MSLane::detectCollisions(), MSLane::executeMovements(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdRemoveObject(), MESegment::receive(), libsumo::Vehicle::remove(), and MSCalibrator::removePending().
|
inlineinherited |
sets the demand scaling factor
Definition at line 500 of file MSVehicleControl.h.
References MSVehicleControl::myScale.
Referenced by GUIApplicationWindow::onCmdDemandScale().
|
inherited |
Sets the current state variables as loaded from the stream.
Definition at line 181 of file MSVehicleControl.cpp.
References MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalDepartureDelay, and MSVehicleControl::myTotalTravelTime.
Referenced by MSStateHandler::myStartElement().
|
inlineinherited |
decreases the count of vehicles waiting for a transport to allow recognition of person / container related deadlocks
Definition at line 426 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForContainer, and MSVehicleControl::myWaitingForPerson.
Referenced by MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSVehicle::processNextStop(), and MSVehicle::resumeFromStopping().
|
inherited |
Informs this control about a vehicle's departure.
If the mean waiting time shall be computed (f.e. for summary-output), the absolut waiting time is increased by the waiting time of the given vehicle.
[in] | v | The inserted vehicle |
Definition at line 168 of file MSVehicleControl.cpp.
References SUMOVehicleParameter::depart, MSVehicleType::getCarFollowModel(), SUMOTrafficObject::getChosenSpeedFactor(), SUMOVehicle::getDeparture(), MSNet::getInstance(), MSCFModel::getMaxDecel(), SUMOVehicle::getParameter(), SUMOTrafficObject::getVClass(), SUMOTrafficObject::getVehicleType(), MSNet::informVehicleStateListener(), MAX2(), MIN2(), MSVehicleControl::myMaxSpeedFactor, MSVehicleControl::myMinDeceleration, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalDepartureDelay, STEPFLOOR, STEPS2TIME, SVC_NON_ROAD, SVC_PEDESTRIAN, and MSNet::VEHICLE_STATE_DEPARTED.
Referenced by MSBaseVehicle::onDepart().
|
privateinherited |
The number of collisions.
Definition at line 534 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getCollisionCount(), MSVehicleControl::getTeleportCount(), and MSVehicleControl::registerCollision().
|
privateinherited |
Whether the default bicycle type was already used or can still be replaced.
Definition at line 597 of file MSVehicleControl.h.
Referenced by MSVehicleControl::checkVType().
|
privateinherited |
Whether the default pedestrian type was already used or can still be replaced.
Definition at line 594 of file MSVehicleControl.h.
Referenced by MSVehicleControl::checkVType(), and MSVehicleControl::getVType().
|
privateinherited |
Whether the default vehicle type was already used or can still be replaced.
Definition at line 591 of file MSVehicleControl.h.
Referenced by MSVehicleControl::checkVType(), and MSVehicleControl::getVType().
|
privateinherited |
The number of vehicles which were discarded while loading.
Definition at line 531 of file MSVehicleControl.h.
Referenced by MSVehicleControl::deleteVehicle(), MSVehicleControl::discountStateLoaded(), MSVehicleControl::getArrivedVehicleNo(), MSVehicleControl::getDepartedVehicleNo(), and MSVehicleControl::getDiscardedVehicleNo().
|
privateinherited |
The number of emergency stops.
Definition at line 546 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getEmergencyStops(), and MSVehicleControl::registerEmergencyStop().
|
privateinherited |
The number of removed vehicles.
Definition at line 528 of file MSVehicleControl.h.
Referenced by MSVehicleControl::deleteVehicle(), MSVehicleControl::discountStateLoaded(), MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::getArrivedVehicleNo(), MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getEndedVehicleNo(), MSVehicleControl::saveState(), and MSVehicleControl::setState().
|
protectedinherited |
The number of build vehicles.
Definition at line 521 of file MSVehicleControl.h.
Referenced by GUIMEVehicleControl::buildVehicle(), buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MSVehicleControl::discountStateLoaded(), MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::getLoadedVehicleNo(), MSVehicleControl::getQuota(), MSVehicleControl::saveState(), and MSVehicleControl::setState().
|
privateinherited |
The maximum speed factor for all vehicles in the network.
Definition at line 609 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getMaxSpeedFactor(), and MSVehicleControl::vehicleDeparted().
|
privateinherited |
The minimum deceleration capability for all vehicles in the network.
Definition at line 612 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getMinDeceleration(), and MSVehicleControl::vehicleDeparted().
|
privateinherited |
List of vehicles which are going to be removed.
Definition at line 621 of file MSVehicleControl.h.
Referenced by MSVehicleControl::isPendingRemoval(), MSVehicleControl::removePending(), and MSVehicleControl::scheduleVehicleRemoval().
|
privateinherited |
List of vehicles which belong to public transport.
Definition at line 615 of file MSVehicleControl.h.
Referenced by MSVehicleControl::adaptIntermodalRouter(), MSVehicleControl::addVehicle(), and MSVehicleControl::deleteVehicle().
|
privateinherited |
The number of vehicles within the network (build and inserted but not removed)
Definition at line 525 of file MSVehicleControl.h.
Referenced by MSVehicleControl::discountStateLoaded(), MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getRunningVehicleNo(), MSVehicleControl::removePending(), MSVehicleControl::saveState(), MSVehicleControl::scheduleVehicleRemoval(), MSVehicleControl::setState(), and MSVehicleControl::vehicleDeparted().
|
privateinherited |
The scaling factor (especially for inc-dua)
Definition at line 606 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getQuota(), MSVehicleControl::MSVehicleControl(), and MSVehicleControl::setScale().
|
privateinherited |
The number of teleports due to jam.
Definition at line 537 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsJam(), and MSVehicleControl::registerTeleportJam().
|
privateinherited |
The number of teleports due to vehicles stuck on the wrong lane.
Definition at line 543 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsWrongLane(), and MSVehicleControl::registerTeleportWrongLane().
|
privateinherited |
The number of teleports due to vehicles stuck on a minor road.
Definition at line 540 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsYield(), and MSVehicleControl::registerTeleportYield().
|
privateinherited |
The aggregated time vehicles had to wait for departure (in seconds)
Definition at line 555 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTotalDepartureDelay(), MSVehicleControl::saveState(), MSVehicleControl::setState(), and MSVehicleControl::vehicleDeparted().
|
privateinherited |
The aggregated time vehicles needed to aacomplish their route (in seconds)
Definition at line 558 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTotalTravelTime(), MSVehicleControl::removePending(), MSVehicleControl::saveState(), and MSVehicleControl::setState().
|
protectedinherited |
Dictionary of vehicles.
Definition at line 569 of file MSVehicleControl.h.
Referenced by MSVehicleControl::abortWaiting(), MSVehicleControl::addVehicle(), MSVehicleControl::deleteVehicle(), MSVehicleControl::getVehicle(), GUIMEVehicleControl::insertVehicleIDs(), GUIVehicleControl::insertVehicleIDs(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
privateinherited |
Dictionary of vehicle types.
Definition at line 580 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addVType(), MSVehicleControl::checkVType(), MSVehicleControl::getVType(), MSVehicleControl::hasVType(), MSVehicleControl::insertVTypeIDs(), MSVehicleControl::MSVehicleControl(), MSVehicleControl::removeVType(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
privateinherited |
A distribution of vehicle types (probability->vehicle type)
Definition at line 585 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addVTypeDistribution(), MSVehicleControl::checkVType(), MSVehicleControl::getVType(), MSVehicleControl::hasVType(), MSVehicleControl::hasVTypeDistribution(), MSVehicleControl::insertVTypeIDs(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
privateinherited |
Inverse lookup from vehicle type to distributions it is a member of.
Definition at line 588 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addVTypeDistribution(), MSVehicleControl::getVTypeDistributionMembership(), and MSVehicleControl::removeVType().
|
privateinherited |
the number of vehicles wainting for containers contained in myWaiting which can only continue by being triggered
Definition at line 603 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::registerOneWaiting(), and MSVehicleControl::unregisterOneWaiting().
|
privateinherited |
the number of vehicles wainting for persons contained in myWaiting which can only continue by being triggered
Definition at line 600 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::registerOneWaiting(), and MSVehicleControl::unregisterOneWaiting().