![]() |
SUMO - Simulation of Urban MObility
|
The class responsible for building and deletion of vehicles (gui-version) More...
#include <GUIMEVehicleControl.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... | |
bool | addVehicle (const std::string &id, SUMOVehicle *v) |
Tries to insert the vehicle into the internal vehicle container. More... | |
void | addWaiting (const MSEdge *const edge, SUMOVehicle *vehicle) |
Adds a vehicle to the list of waiting vehiclse to a given edge. More... | |
SUMOTime | computeRandomDepartOffset () const |
compute (optional) random offset to the departure time More... | |
void | deleteVehicle (SUMOVehicle *v, bool discard=false) |
Deletes the vehicle. More... | |
void | discountStateLoaded () |
avoid counting a vehicle twice if it was loaded from state and route input More... | |
SUMOReal | getMaxSpeedFactor () const |
return the maximum speed factor for all vehicles that ever entered the network More... | |
SUMOReal | getMinDeceleration () const |
return the minimum deceleration capability for all vehicles that ever entered the network More... | |
SUMOVehicle * | getWaitingVehicle (const MSEdge *const edge, const std::set< std::string > &lines, const SUMOReal position, const std::string ridingID) |
GUIMEVehicleControl () | |
Constructor. More... | |
void | insertVehicleIDs (std::vector< GUIGlID > &into) |
Returns the list of all known vehicles by gl-id. More... | |
void | registerCollision () |
registers one collision-related teleport More... | |
void | registerEmergencyStop () |
register emergency stop More... | |
void | registerOneWaitingForContainer () |
increases the count of vehicles waiting for a container to allow recogniztion of container related deadlocks More... | |
void | registerOneWaitingForPerson () |
increases the count of vehicles waiting for a person to allow recogniztion of person 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 | releaseVehicles () |
unlock access to vehicle removal/additions for thread synchronization More... | |
void | removeWaiting (const MSEdge *const edge, SUMOVehicle *vehicle) |
Removes a vehicle from the list of waiting vehicles to a given edge. More... | |
void | secureVehicles () |
lock access to vehicle removal/additions for thread synchronization More... | |
void | unregisterOneWaitingForContainer () |
decreases the count of vehicles waiting for a container to allow recogniztion of container related deadlocks More... | |
void | unregisterOneWaitingForPerson () |
decreases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks More... | |
~GUIMEVehicleControl () | |
Destructor. More... | |
Vehicle creation | |
SUMOVehicle * | buildVehicle (SUMOVehicleParameter *defs, const MSRoute *route, const 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 | |
SUMOVehicle * | getVehicle (const std::string &id) const |
Returns the vehicle with the given id. More... | |
void | scheduleVehicleRemoval (SUMOVehicle *veh) |
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) | |
unsigned int | getLoadedVehicleNo () const |
Returns the number of build vehicles. More... | |
unsigned int | getEndedVehicleNo () const |
Returns the number of removed vehicles. More... | |
unsigned int | getRunningVehicleNo () const |
Returns the number of build and inserted, but not yet deleted vehicles. More... | |
unsigned int | getDepartedVehicleNo () const |
Returns the number of inserted vehicles. More... | |
unsigned int | getQuota (SUMOReal 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... | |
unsigned int | getCollisionCount () const |
return the number of collisions More... | |
unsigned int | getTeleportsJam () const |
return the number of teleports due to jamming More... | |
unsigned int | getTeleportsYield () const |
return the number of teleports due to vehicles stuck on a minor road More... | |
unsigned int | getTeleportsWrongLane () const |
return the number of teleports due to vehicles stuck on the wrong lane More... | |
unsigned int | getTeleportCount () const |
return the number of teleports (including collisions) More... | |
unsigned int | getEmergencyStops () const |
return the number of emergency stops More... | |
SUMOReal | getTotalDepartureDelay () const |
Returns the total departure delay. More... | |
SUMOReal | getTotalTravelTime () const |
Returns the total travel time. More... | |
Insertion and retrieval of vehicle types | |
bool | addVType (MSVehicleType *vehType) |
Adds a vehicle type. More... | |
bool | addVTypeDistribution (const std::string &id, RandomDistributor< MSVehicleType * > *vehTypeDistribution) |
Adds a vehicle type distribution. More... | |
bool | hasVTypeDistribution (const std::string &id) const |
Asks for a vehicle type distribution. More... | |
MSVehicleType * | getVType (const std::string &id=DEFAULT_VTYPE_ID, MTRand *rng=0) |
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... | |
State I/O | |
void | setState (int runningVehNo, int loadedVehNo, int endedVehNo, SUMOReal totalDepartureDelay, SUMOReal 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... | |
Protected Attributes | |
Vehicle statistics (always accessable) | |
unsigned int | myLoadedVehNo |
The number of build vehicles. More... | |
unsigned int | myRunningVehNo |
The number of vehicles within the network (build and inserted but not removed) More... | |
unsigned int | myEndedVehNo |
The number of removed vehicles. More... | |
unsigned int | myDiscarded |
The number of vehicles which were discarded while loading. More... | |
unsigned int | myCollisions |
The number of collisions. More... | |
unsigned int | myTeleportsJam |
The number of teleports due to jam. More... | |
unsigned int | myTeleportsYield |
The number of teleports due to vehicles stuck on a minor road. More... | |
unsigned int | myTeleportsWrongLane |
The number of teleports due to vehicles stuck on the wrong lane. More... | |
unsigned int | myEmergencyStops |
The number of emergency stops. More... | |
Vehicle statistics | |
SUMOReal | myTotalDepartureDelay |
The aggregated time vehicles had to wait for departure (in seconds) More... | |
SUMOReal | myTotalTravelTime |
The aggregated time vehicles needed to aacomplish their route (in seconds) More... | |
Private Member Functions | |
GUIMEVehicleControl (const GUIMEVehicleControl &s) | |
invalidated copy constructor More... | |
GUIMEVehicleControl & | operator= (const GUIMEVehicleControl &s) |
invalidated assignment operator More... | |
Private Attributes | |
MFXMutex | myLock |
The mutex used to avoid concurrent updates of the vehicle buffer. 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... | |
bool | myDefaultVTypeMayBeDeleted |
Whether no vehicle type was loaded. More... | |
bool | myDefaultPedTypeMayBeDeleted |
Whether no pedestrian type was loaded. More... | |
std::map< const MSEdge *const, std::vector< SUMOVehicle * > > | myWaiting |
the lists of waiting vehicles to a given edge More... | |
unsigned int | myWaitingForPerson |
the number of vehicles wainting for persons contained in myWaiting which can only continue by being triggered More... | |
unsigned int | myWaitingForContainer |
the number of vehicles wainting for containers contained in myWaiting which can only continue by being triggered More... | |
SUMOReal | myScale |
The scaling factor (especially for inc-dua) More... | |
SUMOTime | myMaxRandomDepartOffset |
The maximum random offset to be added to vehicles departure times (non-negative) More... | |
SUMOReal | myMaxSpeedFactor |
The maximum speed factor for all vehicles in the network. More... | |
SUMOReal | myMinDeceleration |
The minimum deceleration capability for all vehicles in the network. More... | |
The class responsible for building and deletion of vehicles (gui-version)
Definition at line 52 of file GUIMEVehicleControl.h.
|
inherited |
Definition of the internal vehicles map iterator.
Definition at line 77 of file MSVehicleControl.h.
|
protectedinherited |
Vehicle dictionary type.
Definition at line 510 of file MSVehicleControl.h.
|
protectedinherited |
Vehicle type dictionary type.
Definition at line 520 of file MSVehicleControl.h.
|
protectedinherited |
Vehicle type distribution dictionary type.
Definition at line 525 of file MSVehicleControl.h.
GUIMEVehicleControl::GUIMEVehicleControl | ( | ) |
Constructor.
Definition at line 46 of file GUIMEVehicleControl.cpp.
GUIMEVehicleControl::~GUIMEVehicleControl | ( | ) |
Destructor.
Definition at line 50 of file GUIMEVehicleControl.cpp.
References MFXMutex::locked(), myLock, and MFXMutex::unlock().
|
private |
invalidated copy constructor
|
inherited |
informes about all waiting vehicles (deletion in destructor)
Definition at line 364 of file MSVehicleControl.cpp.
References MSVehicleControl::myVehicleDict, and WRITE_WARNING.
Referenced by MSVehicleControl::discountStateLoaded(), and MSNet::simulationState().
|
virtual |
Tries to insert the vehicle into the internal vehicle container.
Identical to the MSVehicleControl implementation except for locking.
[in] | id | The id of the vehicle |
[in] | v | The vehicle |
Reimplemented from MSVehicleControl.
Definition at line 75 of file GUIMEVehicleControl.cpp.
References MSVehicleControl::addVehicle(), and myLock.
|
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 254 of file MSVehicleControl.cpp.
References MSVehicleControl::checkVType(), MSVehicleType::getID(), and MSVehicleControl::myVTypeDict.
Referenced by MSVehicleControl::getTotalTravelTime(), and MSStateHandler::myEndElement().
|
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 264 of file MSVehicleControl.cpp.
References MSVehicleControl::checkVType(), and MSVehicleControl::myVTypeDistDict.
Referenced by MSVehicleControl::getTotalTravelTime(), and MSStateHandler::myStartElement().
|
inherited |
Adds a vehicle to the list of waiting vehiclse to a given edge.
Definition at line 311 of file MSVehicleControl.cpp.
References MSVehicleControl::myWaiting.
Referenced by MSRouteHandler::closeVehicle(), MSVehicleControl::getTotalTravelTime(), and MSVehicle::processNextStop().
|
virtual |
Builds a vehicle, increases the number of built vehicles.
Instead of a MEVehicle, a GUIMEVehicle 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 MEVehicleControl.
Definition at line 59 of file GUIMEVehicleControl.cpp.
References MSBaseVehicle::addStops(), MSVehicleType::computeChosenSpeedDeviation(), MSVehicleControl::computeRandomDepartOffset(), SUMOVehicleParameter::depart, MSNet::getInstance(), MSRouteHandler::getParsingRNG(), MSNet::informVehicleStateListener(), MSVehicleControl::myLoadedVehNo, and MSNet::VEHICLE_STATE_BUILT.
|
inherited |
compute (optional) random offset to the departure time
Definition at line 106 of file MSVehicleControl.cpp.
References DELTA_T, MSRouteHandler::getParsingRNG(), and MSVehicleControl::myMaxRandomDepartOffset.
Referenced by MEVehicleControl::buildVehicle(), buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), and MSVehicleControl::discountStateLoaded().
|
virtual |
Deletes the vehicle.
Identical to the MSVehicleControl implementation except for locking.
[in] | v | The vehicle to delete |
Reimplemented from MSVehicleControl.
Definition at line 82 of file GUIMEVehicleControl.cpp.
References MSVehicleControl::deleteVehicle(), and myLock.
|
inlineinherited |
avoid counting a vehicle twice if it was loaded from state and route input
Definition at line 430 of file MSVehicleControl.h.
References MSVehicleControl::abortWaiting(), MSVehicleControl::computeRandomDepartOffset(), and MSVehicleControl::myLoadedVehNo.
Referenced by MSInsertionControl::determineCandidates(), and MSStateHandler::myStartElement().
|
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 243 of file MSVehicleControl.h.
References MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, MSVehicleControl::myWaitingForContainer, and MSVehicleControl::myWaitingForPerson.
Referenced by MSNet::simulationState().
|
inlineinherited |
return the number of collisions
Definition at line 249 of file MSVehicleControl.h.
References MSVehicleControl::myCollisions.
Referenced by MSNet::closeSimulation(), and GUINet::getParameterWindow().
|
inlineinherited |
Returns the number of inserted vehicles.
Definition at line 225 of file MSVehicleControl.h.
References MSVehicleControl::getQuota(), MSVehicleControl::myDiscarded, MSVehicleControl::myEndedVehNo, MSVehicleControl::myRunningVehNo, and SUMOReal.
Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), MSNet::postSimStepOutput(), and MSNet::writeOutput().
|
inlineinherited |
return the number of emergency stops
Definition at line 274 of file MSVehicleControl.h.
References MSVehicleControl::myEmergencyStops.
Referenced by MSNet::closeSimulation().
|
inlineinherited |
Returns the number of removed vehicles.
Definition at line 209 of file MSVehicleControl.h.
References MSVehicleControl::myEndedVehNo.
Referenced by GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
Returns the number of build vehicles.
Definition at line 201 of file MSVehicleControl.h.
References MSVehicleControl::myLoadedVehNo.
Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), and MSNet::writeOutput().
|
inlineinherited |
return the maximum speed factor for all vehicles that ever entered the network
Definition at line 443 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 448 of file MSVehicleControl.h.
References MSVehicleControl::checkVType(), and 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 372 of file MSVehicleControl.cpp.
References MSVehicleControl::myLoadedVehNo, and MSVehicleControl::myScale.
Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSDevice::equippedByDefaultAssignmentOptions(), and MSVehicleControl::getDepartedVehicleNo().
|
inlineinherited |
Returns the number of build and inserted, but not yet deleted vehicles.
Definition at line 217 of file MSVehicleControl.h.
References MSVehicleControl::myRunningVehNo.
Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), MSNet::postSimStepOutput(), GUINet::setSimDuration(), MSNet::simulationStep(), and MSNet::writeOutput().
|
inlineinherited |
return the number of teleports (including collisions)
Definition at line 269 of file MSVehicleControl.h.
References MSVehicleControl::myCollisions, MSVehicleControl::myTeleportsJam, MSVehicleControl::myTeleportsWrongLane, and MSVehicleControl::myTeleportsYield.
Referenced by MSNet::closeSimulation(), and GUINet::getParameterWindow().
|
inlineinherited |
return the number of teleports due to jamming
Definition at line 254 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsJam.
Referenced by MSNet::closeSimulation().
|
inlineinherited |
return the number of teleports due to vehicles stuck on the wrong lane
Definition at line 264 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsWrongLane.
Referenced by MSNet::closeSimulation().
|
inlineinherited |
return the number of teleports due to vehicles stuck on a minor road
Definition at line 259 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsYield.
Referenced by MSNet::closeSimulation().
|
inlineinherited |
Returns the total departure delay.
Definition at line 282 of file MSVehicleControl.h.
References MSVehicleControl::myTotalDepartureDelay.
Referenced by MSNet::writeOutput().
|
inlineinherited |
Returns the total travel time.
Definition at line 290 of file MSVehicleControl.h.
References MSVehicleControl::addVType(), MSVehicleControl::addVTypeDistribution(), MSVehicleControl::addWaiting(), DEFAULT_VTYPE_ID, MSVehicleControl::getVType(), MSVehicleControl::getWaitingVehicle(), MSVehicleControl::hasVTypeDistribution(), MSVehicleControl::insertVTypeIDs(), MSVehicleControl::myTotalTravelTime, MSVehicleControl::removeWaiting(), and SUMOReal.
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 205 of file MSVehicleControl.cpp.
References MSVehicleControl::myVehicleDict.
Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), TraCIServerAPI_Vehicle::getPosition(), MESegment::loadState(), MSLane::loadState(), MSStateHandler::myStartElement(), TraCIServer::postProcessVTD(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_GUI::processSet(), TraCIServerAPI_Vehicle::processSet(), MSCalibrator::removePending(), and GUINet::vehicleExists().
|
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 280 of file MSVehicleControl.cpp.
References DEFAULT_PEDTYPE_ID, DEFAULT_VTYPE_ID, MSVehicleControl::myDefaultPedTypeMayBeDeleted, MSVehicleControl::myDefaultVTypeMayBeDeleted, MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), METriggeredCalibrator::execute(), MSCalibrator::execute(), MSVehicleControl::getTotalTravelTime(), MSStateHandler::myStartElement(), MSRouteHandler::myStartElement(), MSCalibrator::myStartElement(), MSRouteHandler::openVehicleTypeDistribution(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_VehicleType::processSet(), METriggeredCalibrator::remainingVehicleCapacity(), MSCalibrator::remainingVehicleCapacity(), and MSMeanData_Emissions::MSLaneMeanDataValues::write().
|
inherited |
Definition at line 331 of file MSVehicleControl.cpp.
References DEPART_TRIGGERED, Named::getID(), SUMOVehicle::getParameter(), MSVehicle::isStoppedInRange(), SUMOVehicleParameter::line, MSVehicleControl::myWaiting, SUMOReal, toString(), and WRITE_WARNING.
Referenced by MSVehicleControl::getTotalTravelTime(), MSContainer::MSContainerStage_Driving::proceed(), and MSPerson::MSPersonStage_Driving::proceed().
|
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 274 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeDistDict.
Referenced by MSInsertionControl::add(), and MSVehicleControl::getTotalTravelTime().
void GUIMEVehicleControl::insertVehicleIDs | ( | std::vector< GUIGlID > & | into | ) |
Returns the list of all known vehicles by gl-id.
Definition at line 89 of file GUIMEVehicleControl.cpp.
References SUMOVehicle::isOnRoad(), myLock, and MSVehicleControl::myVehicleDict.
|
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 299 of file MSVehicleControl.cpp.
References MSVehicleControl::myVTypeDict, and MSVehicleControl::myVTypeDistDict.
Referenced by MSVehicleControl::getTotalTravelTime(), and TraCIServerAPI_VehicleType::processGet().
|
inlineinherited |
Returns the begin of the internal vehicle map.
Definition at line 165 of file MSVehicleControl.h.
References MSVehicleControl::myVehicleDict.
Referenced by GUIApplicationWindow::checkGamingEvents(), MSVTypeProbe::execute(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), TraCIServerAPI_Vehicle::processGet(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), and MSFullExport::writeVehicles().
|
inlineinherited |
Returns the end of the internal vehicle map.
Definition at line 173 of file MSVehicleControl.h.
References MSVehicleControl::myVehicleDict, and MSVehicleControl::vehicleDeparted().
Referenced by GUIApplicationWindow::checkGamingEvents(), MSVTypeProbe::execute(), MSVTKExport::getPositions(), MSVTKExport::getSpeed(), TraCIServerAPI_Vehicle::processGet(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSAmitranTrajectories::write(), and MSFullExport::writeVehicles().
|
private |
invalidated assignment operator
|
inlineinherited |
registers one collision-related teleport
Definition at line 393 of file MSVehicleControl.h.
References MSVehicleControl::myCollisions.
Referenced by MSLane::executeMovements(), and MSLane::handleCollision().
|
inlineinherited |
register emergency stop
Definition at line 413 of file MSVehicleControl.h.
References MSVehicleControl::myEmergencyStops, MSVehicleControl::saveState(), MSVehicleControl::setState(), and SUMOReal.
Referenced by MSVehicle::executeMove().
|
inlineinherited |
increases the count of vehicles waiting for a container to allow recogniztion of container related deadlocks
Definition at line 382 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForContainer.
Referenced by MSRouteHandler::closeVehicle(), and MSVehicle::processNextStop().
|
inlineinherited |
increases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks
Definition at line 370 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForPerson.
Referenced by MSRouteHandler::closeVehicle(), and MSVehicle::processNextStop().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 398 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsJam.
Referenced by MSLane::executeMovements(), and MELoop::teleportVehicle().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 408 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsWrongLane.
Referenced by MSLane::executeMovements().
|
inlineinherited |
register one non-collision-related teleport
Definition at line 403 of file MSVehicleControl.h.
References MSVehicleControl::myTeleportsYield.
Referenced by MSLane::executeMovements().
void GUIMEVehicleControl::releaseVehicles | ( | ) |
unlock access to vehicle removal/additions for thread synchronization
Definition at line 109 of file GUIMEVehicleControl.cpp.
References myLock, and MFXMutex::unlock().
Referenced by GUIEdge::drawMesoVehicles().
|
inherited |
Removes a vehicle from the list of waiting vehicles to a given edge.
Definition at line 320 of file MSVehicleControl.cpp.
References MSVehicleControl::myWaiting.
Referenced by MSVehicleControl::getTotalTravelTime(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), and MSVehicle::resumeFromStopping().
|
inherited |
Saves the current state into the given stream.
Definition at line 169 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 MSVehicleControl::registerEmergencyStop(), and 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 132 of file MSVehicleControl.cpp.
References OutputDevice::closeTag(), MSVehicleControl::deleteVehicle(), SUMOVehicle::getDeparture(), OutputDevice::getDeviceByOption(), SUMOVehicle::getDevices(), MSNet::getInstance(), OptionsCont::getOptions(), MSNet::informVehicleStateListener(), MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalTravelTime, STEPS2TIME, and MSNet::VEHICLE_STATE_ARRIVED.
Referenced by MSVehicleTransfer::add(), MELoop::changeSegment(), MSVehicleTransfer::checkInsertions(), MSLane::executeMovements(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), and MSCalibrator::removePending().
void GUIMEVehicleControl::secureVehicles | ( | ) |
lock access to vehicle removal/additions for thread synchronization
Definition at line 103 of file GUIMEVehicleControl.cpp.
References MFXMutex::lock(), and myLock.
Referenced by GUIEdge::drawMesoVehicles().
|
inherited |
Sets the current state variables as loaded from the stream.
Definition at line 159 of file MSVehicleControl.cpp.
References MSVehicleControl::myEndedVehNo, MSVehicleControl::myLoadedVehNo, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalDepartureDelay, and MSVehicleControl::myTotalTravelTime.
Referenced by MSStateHandler::myStartElement(), and MSVehicleControl::registerEmergencyStop().
|
inlineinherited |
decreases the count of vehicles waiting for a container to allow recogniztion of container related deadlocks
Definition at line 388 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForContainer.
Referenced by MSContainer::MSContainerStage_Driving::proceed(), MSVehicle::processNextStop(), and MSVehicle::resumeFromStopping().
|
inlineinherited |
decreases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks
Definition at line 376 of file MSVehicleControl.h.
References MSVehicleControl::myWaitingForPerson.
Referenced by 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 149 of file MSVehicleControl.cpp.
References SUMOVehicleParameter::depart, MSVehicleType::getCarFollowModel(), SUMOVehicle::getChosenSpeedFactor(), SUMOVehicle::getDeparture(), MSNet::getInstance(), MSCFModel::getMaxDecel(), SUMOVehicle::getParameter(), SUMOVehicle::getVehicleType(), MSNet::informVehicleStateListener(), MAX2(), MIN2(), MSVehicleControl::myMaxSpeedFactor, MSVehicleControl::myMinDeceleration, MSVehicleControl::myRunningVehNo, MSVehicleControl::myTotalDepartureDelay, STEPFLOOR, STEPS2TIME, and MSNet::VEHICLE_STATE_DEPARTED.
Referenced by MSVehicleControl::loadedVehEnd(), and MSBaseVehicle::onDepart().
|
protectedinherited |
The number of collisions.
Definition at line 478 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getCollisionCount(), MSVehicleControl::getTeleportCount(), and MSVehicleControl::registerCollision().
|
protectedinherited |
Whether no pedestrian type was loaded.
Definition at line 533 of file MSVehicleControl.h.
Referenced by MSVehicleControl::checkVType(), and MSVehicleControl::getVType().
|
protectedinherited |
Whether no vehicle type was loaded.
Definition at line 530 of file MSVehicleControl.h.
Referenced by MSVehicleControl::checkVType(), and MSVehicleControl::getVType().
|
protectedinherited |
The number of vehicles which were discarded while loading.
Definition at line 475 of file MSVehicleControl.h.
Referenced by MSVehicleControl::deleteVehicle(), and MSVehicleControl::getDepartedVehicleNo().
|
protectedinherited |
The number of emergency stops.
Definition at line 490 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getEmergencyStops(), and MSVehicleControl::registerEmergencyStop().
|
protectedinherited |
The number of removed vehicles.
Definition at line 472 of file MSVehicleControl.h.
Referenced by MSVehicleControl::deleteVehicle(), MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getEndedVehicleNo(), MSVehicleControl::saveState(), and MSVehicleControl::setState().
|
protectedinherited |
The number of build vehicles.
Definition at line 466 of file MSVehicleControl.h.
Referenced by MEVehicleControl::buildVehicle(), buildVehicle(), GUIVehicleControl::buildVehicle(), MSVehicleControl::buildVehicle(), MSVehicleControl::discountStateLoaded(), MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::getLoadedVehicleNo(), MSVehicleControl::getQuota(), MSVehicleControl::saveState(), and MSVehicleControl::setState().
|
mutableprivate |
The mutex used to avoid concurrent updates of the vehicle buffer.
Definition at line 115 of file GUIMEVehicleControl.h.
Referenced by addVehicle(), deleteVehicle(), insertVehicleIDs(), releaseVehicles(), secureVehicles(), and ~GUIMEVehicleControl().
|
protectedinherited |
The maximum random offset to be added to vehicles departure times (non-negative)
Definition at line 548 of file MSVehicleControl.h.
Referenced by MSVehicleControl::computeRandomDepartOffset(), and MSVehicleControl::MSVehicleControl().
|
protectedinherited |
The maximum speed factor for all vehicles in the network.
Definition at line 551 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getMaxSpeedFactor(), and MSVehicleControl::vehicleDeparted().
|
protectedinherited |
The minimum deceleration capability for all vehicles in the network.
Definition at line 554 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getMinDeceleration(), and MSVehicleControl::vehicleDeparted().
|
protectedinherited |
The number of vehicles within the network (build and inserted but not removed)
Definition at line 469 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getDepartedVehicleNo(), MSVehicleControl::getRunningVehicleNo(), MSVehicleControl::saveState(), MSVehicleControl::scheduleVehicleRemoval(), MSVehicleControl::setState(), and MSVehicleControl::vehicleDeparted().
|
protectedinherited |
The scaling factor (especially for inc-dua)
Definition at line 545 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getQuota(), and MSVehicleControl::MSVehicleControl().
|
protectedinherited |
The number of teleports due to jam.
Definition at line 481 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsJam(), and MSVehicleControl::registerTeleportJam().
|
protectedinherited |
The number of teleports due to vehicles stuck on the wrong lane.
Definition at line 487 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsWrongLane(), and MSVehicleControl::registerTeleportWrongLane().
|
protectedinherited |
The number of teleports due to vehicles stuck on a minor road.
Definition at line 484 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTeleportCount(), MSVehicleControl::getTeleportsYield(), and MSVehicleControl::registerTeleportYield().
|
protectedinherited |
The aggregated time vehicles had to wait for departure (in seconds)
Definition at line 499 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTotalDepartureDelay(), MSVehicleControl::saveState(), MSVehicleControl::setState(), and MSVehicleControl::vehicleDeparted().
|
protectedinherited |
The aggregated time vehicles needed to aacomplish their route (in seconds)
Definition at line 502 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getTotalTravelTime(), MSVehicleControl::saveState(), MSVehicleControl::scheduleVehicleRemoval(), and MSVehicleControl::setState().
|
protectedinherited |
Dictionary of vehicles.
Definition at line 512 of file MSVehicleControl.h.
Referenced by MSVehicleControl::abortWaiting(), MSVehicleControl::addVehicle(), MSVehicleControl::deleteVehicle(), MSVehicleControl::getVehicle(), insertVehicleIDs(), GUIVehicleControl::insertVehicleIDs(), MSVehicleControl::loadedVehBegin(), MSVehicleControl::loadedVehEnd(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
protectedinherited |
Dictionary of vehicle types.
Definition at line 522 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addVType(), MSVehicleControl::checkVType(), MSVehicleControl::getVType(), MSVehicleControl::insertVTypeIDs(), MSVehicleControl::MSVehicleControl(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
protectedinherited |
A distribution of vehicle types (probability->vehicle type)
Definition at line 527 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addVTypeDistribution(), MSVehicleControl::checkVType(), MSVehicleControl::getVType(), MSVehicleControl::hasVTypeDistribution(), MSVehicleControl::insertVTypeIDs(), MSVehicleControl::saveState(), and MSVehicleControl::~MSVehicleControl().
|
protectedinherited |
the lists of waiting vehicles to a given edge
Definition at line 536 of file MSVehicleControl.h.
Referenced by MSVehicleControl::addWaiting(), MSVehicleControl::getWaitingVehicle(), and MSVehicleControl::removeWaiting().
|
protectedinherited |
the number of vehicles wainting for containers contained in myWaiting which can only continue by being triggered
Definition at line 542 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::registerOneWaitingForContainer(), and MSVehicleControl::unregisterOneWaitingForContainer().
|
protectedinherited |
the number of vehicles wainting for persons contained in myWaiting which can only continue by being triggered
Definition at line 539 of file MSVehicleControl.h.
Referenced by MSVehicleControl::getActiveVehicleCount(), MSVehicleControl::registerOneWaitingForPerson(), and MSVehicleControl::unregisterOneWaitingForPerson().