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

The class responsible for building and deletion of vehicles. More...

#include <MSVehicleControl.h>

Inheritance diagram for MSVehicleControl:
GUIVehicleControl

Public Types

typedef std::map< std::string,
SUMOVehicle * >
::const_iterator 
constVehIt
 Definition of the internal vehicles map iterator. More...
 

Public Member Functions

void abortWaiting ()
 removes any vehicles that are still waiting More...
 
void addWaiting (const MSEdge *const edge, SUMOVehicle *vehicle)
 
SUMOTime computeRandomDepartOffset () const
 compute (optional) random offset to the departure time More...
 
SUMOVehicle * getWaitingVehicle (const MSEdge *const edge, const std::set< std::string > &lines)
 
 MSVehicleControl ()
 Constructor. More...
 
void registerCollision ()
 registers one collision-related teleport More...
 
void registerEmergencyStop ()
 register emergency stop 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 removeWaiting (const MSEdge *const edge, SUMOVehicle *vehicle)
 
void unregisterOneWaitingForPerson ()
 decreases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks More...
 
virtual ~MSVehicleControl ()
 Destructor. More...
 
Vehicle creation
virtual 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
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)
 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. 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 (mesosim only)
void setState (int runningVehNo, 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

bool checkVType (const std::string &id)
 Checks whether the vehicle type (distribution) may be added. 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...
 
std::map< const MSEdge *const,
std::vector< SUMOVehicle * > > 
myWaiting
 the lists of waiting vehicles More...
 
unsigned int myWaitingForPerson
 the number of vehicles 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...
 
 MSVehicleControl (const MSVehicleControl &s)
 invalidated copy constructor More...
 
MSVehicleControl & operator= (const MSVehicleControl &s)
 invalidated assignment operator More...
 

Detailed Description

The class responsible for building and deletion of vehicles.

This class is responsible for vehicle building and deletion. It stores vehicle types, vehicles and statistics about the last.

This class also realizes the tripinfos and the vehroutes - outputs, both generated when a vehicle is removed from the simulation, see scheduleVehicleRemoval.

Use this class for the pure microsim and GUIVehicleControl within the gui.

See Also
GUIVehicleControl

Definition at line 74 of file MSVehicleControl.h.

Member Typedef Documentation

typedef std::map<std::string, SUMOVehicle*>::const_iterator MSVehicleControl::constVehIt

Definition of the internal vehicles map iterator.

Definition at line 77 of file MSVehicleControl.h.

typedef std::map< std::string, SUMOVehicle* > MSVehicleControl::VehicleDictType
protected

Vehicle dictionary type.

Definition at line 473 of file MSVehicleControl.h.

typedef std::map< std::string, MSVehicleType* > MSVehicleControl::VTypeDictType
protected

Vehicle type dictionary type.

Definition at line 483 of file MSVehicleControl.h.

typedef std::map< std::string, RandomDistributor<MSVehicleType*>* > MSVehicleControl::VTypeDistDictType
protected

Vehicle type distribution dictionary type.

Definition at line 488 of file MSVehicleControl.h.

Constructor & Destructor Documentation

MSVehicleControl::~MSVehicleControl ( )
virtual

Destructor.

Definition at line 79 of file MSVehicleControl.cpp.

References myVehicleDict, myVTypeDict, and myVTypeDistDict.

MSVehicleControl::MSVehicleControl ( const MSVehicleControl &  s)
private

invalidated copy constructor

Member Function Documentation

void MSVehicleControl::abortWaiting ( )

removes any vehicles that are still waiting

Definition at line 330 of file MSVehicleControl.cpp.

References myVehicleDict, and WRITE_WARNING.

Referenced by MSNet::simulationState().

bool MSVehicleControl::addVehicle ( const std::string &  id,
SUMOVehicle *  v 
)
virtual

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" and true is returned.

The vehicle control gets responsible for vehicle deletion.

Parameters
[in]idThe id of the vehicle
[in]vThe vehicle
Returns
Whether the vehicle could be inserted (no other vehicle with the same id was inserted before)

Reimplemented in GUIVehicleControl.

Definition at line 178 of file MSVehicleControl.cpp.

References myVehicleDict.

Referenced by GUIVehicleControl::addVehicle(), MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSStateHandler::myStartElement(), and TraCIServerAPI_Vehicle::processSet().

bool MSVehicleControl::addVType ( MSVehicleType *  vehType)

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.

Parameters
[in]vehTypeThe vehicle type to add
Returns
Whether the vehicle type could be added

Definition at line 241 of file MSVehicleControl.cpp.

References checkVType(), MSVehicleType::getID(), and myVTypeDict.

Referenced by MSStateHandler::myEndElement().

bool MSVehicleControl::addVTypeDistribution ( const std::string &  id,
RandomDistributor< MSVehicleType * > *  vehTypeDistribution 
)

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.

Parameters
[in]idThe id of the distribution to add
[in]vehTypeDistributionThe vehicle type distribution to add
Returns
Whether the vehicle type could be added

Definition at line 251 of file MSVehicleControl.cpp.

References checkVType(), and myVTypeDistDict.

Referenced by MSStateHandler::myStartElement().

void MSVehicleControl::addWaiting ( const MSEdge *const  edge,
SUMOVehicle *  vehicle 
)

Definition at line 296 of file MSVehicleControl.cpp.

References myWaiting.

Referenced by MSRouteHandler::closeVehicle(), and MSVehicle::processNextStop().

SUMOVehicle * MSVehicleControl::buildVehicle ( SUMOVehicleParameter *  defs,
const MSRoute *  route,
const MSVehicleType *  type,
const bool  ignoreStopErrors,
const bool  fromRouteFile = true 
)
virtual

Builds a vehicle, increases the number of built vehicles.

Builds a MSVehicle instance using the given parameter. Increases the number of loaded vehicles ("myLoadedVehNo").

Parameters
[in]defsThe parameter defining the vehicle
[in]routeThe route of this vehicle
[in]typeThe type of this vehicle
[in]ignoreStopErrorswhether invalid stops trigger a warning only
[in]fromRouteFilewhether we are just reading the route file or creating via trigger, traci, ...
Returns
The built vehicle (MSVehicle instance)

Reimplemented in GUIVehicleControl.

Definition at line 108 of file MSVehicleControl.cpp.

References MSBaseVehicle::addStops(), MSVehicleType::computeChosenSpeedDeviation(), computeRandomDepartOffset(), SUMOVehicleParameter::depart, MSNet::getInstance(), MSRouteHandler::getParsingRNG(), MSNet::informVehicleStateListener(), myLoadedVehNo, and MSNet::VEHICLE_STATE_BUILT.

Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), MSCalibrator::execute(), MSStateHandler::myStartElement(), and TraCIServerAPI_Vehicle::processSet().

bool MSVehicleControl::checkVType ( const std::string &  id)
private

Checks whether the vehicle type (distribution) may be added.

This method checks also whether the default type may still be replaced

Parameters
[in]idThe id of the vehicle type (distribution) to add
Returns
Whether the type (distribution) may be added

Definition at line 223 of file MSVehicleControl.cpp.

References DEFAULT_VTYPE_ID, myDefaultVTypeMayBeDeleted, myVTypeDict, and myVTypeDistDict.

Referenced by addVType(), and addVTypeDistribution().

SUMOTime MSVehicleControl::computeRandomDepartOffset ( ) const

compute (optional) random offset to the departure time

Definition at line 98 of file MSVehicleControl.cpp.

References DELTA_T, MSRouteHandler::getParsingRNG(), and myMaxRandomDepartOffset.

Referenced by GUIVehicleControl::buildVehicle(), and buildVehicle().

void MSVehicleControl::deleteVehicle ( SUMOVehicle *  v,
bool  discard = false 
)
virtual

Deletes the vehicle.

Parameters
[in]vThe vehicle to delete
discard]Whether the vehicle is discard during loading (scale < 1)
Todo:
Isn't this quite insecure?

Reimplemented in GUIVehicleControl.

Definition at line 200 of file MSVehicleControl.cpp.

References SUMOVehicle::getID(), myDiscarded, myEndedVehNo, and myVehicleDict.

Referenced by MSInsertionControl::clearPendingVehicles(), MSRouteHandler::closeVehicle(), GUIVehicleControl::deleteVehicle(), MSInsertionControl::determineCandidates(), MSCalibrator::execute(), scheduleVehicleRemoval(), and MSInsertionControl::tryInsert().

int MSVehicleControl::getActiveVehicleCount ( ) const
inline

Returns the number of build vehicles that have not been removed or need to wait for a passenger.

Returns
Number of active vehicles

Definition at line 241 of file MSVehicleControl.h.

References myEndedVehNo, myLoadedVehNo, and myWaitingForPerson.

Referenced by MSNet::simulationState().

unsigned int MSVehicleControl::getCollisionCount ( ) const
inline

return the number of collisions

Definition at line 247 of file MSVehicleControl.h.

References myCollisions.

Referenced by MSNet::closeSimulation(), and GUINet::getParameterWindow().

unsigned int MSVehicleControl::getDepartedVehicleNo ( ) const
inline

Returns the number of inserted vehicles.

Returns
The number of vehicles that have entered the simulation so far

Definition at line 223 of file MSVehicleControl.h.

References myDiscarded, myEndedVehNo, and myRunningVehNo.

Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), MSNet::postSimStepOutput(), and MSNet::writeOutput().

unsigned int MSVehicleControl::getEmergencyStops ( ) const
inline

return the number of emergency stops

Definition at line 272 of file MSVehicleControl.h.

References myEmergencyStops.

Referenced by MSNet::closeSimulation().

unsigned int MSVehicleControl::getEndedVehicleNo ( ) const
inline

Returns the number of removed vehicles.

Returns
The number of vehicles that have left the simulation

Definition at line 207 of file MSVehicleControl.h.

References myEndedVehNo.

Referenced by GUINet::getParameterWindow(), and MSNet::writeOutput().

unsigned int MSVehicleControl::getLoadedVehicleNo ( ) const
inline

Returns the number of build vehicles.

Returns
The number of loaded (build) vehicles

Definition at line 199 of file MSVehicleControl.h.

References myLoadedVehNo.

Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), and MSNet::writeOutput().

unsigned int MSVehicleControl::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)

Returns
the number of vehicles to create (something between 0 and ceil(frac))

Definition at line 338 of file MSVehicleControl.cpp.

References myLoadedVehNo, and myScale.

Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), and MSDevice::equippedByDefaultAssignmentOptions().

unsigned int MSVehicleControl::getRunningVehicleNo ( ) const
inline

Returns the number of build and inserted, but not yet deleted vehicles.

Returns
The number simulated vehicles (including those in teleporter)

Definition at line 215 of file MSVehicleControl.h.

References myRunningVehNo.

Referenced by MSNet::closeSimulation(), GUINet::getParameterWindow(), MSNet::postSimStepOutput(), GUINet::setSimDuration(), MSNet::simulationState(), MSNet::simulationStep(), and MSNet::writeOutput().

unsigned int MSVehicleControl::getTeleportCount ( ) const
inline

return the number of teleports (including collisions)

Definition at line 267 of file MSVehicleControl.h.

References myCollisions, myTeleportsJam, myTeleportsWrongLane, and myTeleportsYield.

Referenced by MSNet::closeSimulation(), and GUINet::getParameterWindow().

unsigned int MSVehicleControl::getTeleportsJam ( ) const
inline

return the number of teleports due to jamming

Definition at line 252 of file MSVehicleControl.h.

References myTeleportsJam.

Referenced by MSNet::closeSimulation().

unsigned int MSVehicleControl::getTeleportsWrongLane ( ) const
inline

return the number of teleports due to vehicles stuck on the wrong lane

Definition at line 262 of file MSVehicleControl.h.

References myTeleportsWrongLane.

Referenced by MSNet::closeSimulation().

unsigned int MSVehicleControl::getTeleportsYield ( ) const
inline

return the number of teleports due to vehicles stuck on a minor road

Definition at line 257 of file MSVehicleControl.h.

References myTeleportsYield.

Referenced by MSNet::closeSimulation().

SUMOReal MSVehicleControl::getTotalDepartureDelay ( ) const
inline

Returns the total departure delay.

Returns
Sum of steps vehicles had to wait until being inserted

Definition at line 280 of file MSVehicleControl.h.

References myTotalDepartureDelay.

Referenced by MSNet::writeOutput().

SUMOReal MSVehicleControl::getTotalTravelTime ( ) const
inline

Returns the total travel time.

Returns
Sum of travel times of arrived vehicles

Definition at line 288 of file MSVehicleControl.h.

References myTotalTravelTime.

Referenced by MSNet::writeOutput().

SUMOVehicle * MSVehicleControl::getVehicle ( const std::string &  id) const

Returns the vehicle with the given id.

If no vehicle with the given id is store din "myVehicleDict", 0 is returned.

Parameters
[in]idThe id of the vehicle to retrieve
Returns
The vehicle with the given id, 0 if no such vehicle exists

Definition at line 190 of file MSVehicleControl.cpp.

References myVehicleDict.

Referenced by MSRouteHandler::closeVehicle(), MSInsertionControl::determineCandidates(), TraCIServerAPI_Vehicle::getPosition(), MSLane::loadState(), MSStateHandler::myStartElement(), TraCIServer::postProcessVTD(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_GUI::processSet(), MSCalibrator::removePending(), and GUINet::vehicleExists().

MSVehicleType * MSVehicleControl::getVType ( const std::string &  id = DEFAULT_VTYPE_ID,
MTRand *  rng = 0 
)
SUMOVehicle * MSVehicleControl::getWaitingVehicle ( const MSEdge *const  edge,
const std::set< std::string > &  lines 
)
bool MSVehicleControl::hasVTypeDistribution ( const std::string &  id) const

Asks for a vehicle type distribution.

If vehicle type distribution with the id exists, true is returned, false otherwise.

Parameters
[in]idThe id of the distribution
Returns
Whether the vehicle type distribution exists

Definition at line 261 of file MSVehicleControl.cpp.

References myVTypeDistDict.

Referenced by MSInsertionControl::add().

void MSVehicleControl::insertVTypeIDs ( std::vector< std::string > &  into) const

Inserts ids of all known vehicle types and vehicle type distributions to the given vector.

Parameters
[in]intoThe vector to fill with ids

Definition at line 284 of file MSVehicleControl.cpp.

References myVTypeDict, and myVTypeDistDict.

Referenced by TraCIServerAPI_VehicleType::processGet().

MSVehicleControl::constVehIt MSVehicleControl::loadedVehBegin ( ) const
MSVehicleControl& MSVehicleControl::operator= ( const MSVehicleControl &  s)
private

invalidated assignment operator

void MSVehicleControl::registerCollision ( )
inline

registers one collision-related teleport

Definition at line 371 of file MSVehicleControl.h.

References myCollisions.

Referenced by MSLane::executeMovements(), and MSLane::handleCollision().

void MSVehicleControl::registerEmergencyStop ( )
inline

register emergency stop

Definition at line 391 of file MSVehicleControl.h.

References myEmergencyStops.

Referenced by MSVehicle::executeMove().

void MSVehicleControl::registerOneWaitingForPerson ( )
inline

increases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks

Definition at line 360 of file MSVehicleControl.h.

References myWaitingForPerson.

Referenced by MSRouteHandler::closeVehicle(), and MSVehicle::processNextStop().

void MSVehicleControl::registerTeleportJam ( )
inline

register one non-collision-related teleport

Definition at line 376 of file MSVehicleControl.h.

References myTeleportsJam.

Referenced by MSLane::executeMovements().

void MSVehicleControl::registerTeleportWrongLane ( )
inline

register one non-collision-related teleport

Definition at line 386 of file MSVehicleControl.h.

References myTeleportsWrongLane.

Referenced by MSLane::executeMovements().

void MSVehicleControl::registerTeleportYield ( )
inline

register one non-collision-related teleport

Definition at line 381 of file MSVehicleControl.h.

References myTeleportsYield.

Referenced by MSLane::executeMovements().

void MSVehicleControl::removeWaiting ( const MSEdge *const  edge,
SUMOVehicle *  vehicle 
)
void MSVehicleControl::scheduleVehicleRemoval ( SUMOVehicle *  veh)

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.

Parameters
[in]vehThe vehicle to remove

Definition at line 124 of file MSVehicleControl.cpp.

References OutputDevice::closeTag(), deleteVehicle(), SUMOVehicle::getDeparture(), OutputDevice::getDeviceByOption(), SUMOVehicle::getDevices(), MSNet::getInstance(), OptionsCont::getOptions(), MSNet::informVehicleStateListener(), myRunningVehNo, myTotalTravelTime, STEPS2TIME, and MSNet::VEHICLE_STATE_ARRIVED.

Referenced by MSVehicleTransfer::add(), MSVehicleTransfer::checkInsertions(), MSLane::executeMovements(), TraCIServerAPI_Vehicle::processSet(), and MSCalibrator::removePending().

void MSVehicleControl::setState ( int  runningVehNo,
int  endedVehNo,
SUMOReal  totalDepartureDelay,
SUMOReal  totalTravelTime 
)

Sets the current state variables as loaded from the stream.

Definition at line 149 of file MSVehicleControl.cpp.

References myEndedVehNo, myRunningVehNo, myTotalDepartureDelay, and myTotalTravelTime.

Referenced by MSStateHandler::myStartElement().

void MSVehicleControl::unregisterOneWaitingForPerson ( )
inline

decreases the count of vehicles waiting for a person to allow recogniztion of person related deadlocks

Definition at line 366 of file MSVehicleControl.h.

References myWaitingForPerson.

Referenced by MSPerson::MSPersonStage_Driving::proceed(), MSVehicle::processNextStop(), and MSVehicle::resumeFromStopping().

void MSVehicleControl::vehicleDeparted ( const SUMOVehicle &  v)

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.

Parameters
[in]vThe inserted vehicle

Definition at line 141 of file MSVehicleControl.cpp.

References SUMOVehicleParameter::depart, SUMOVehicle::getDeparture(), MSNet::getInstance(), SUMOVehicle::getParameter(), MSNet::informVehicleStateListener(), myRunningVehNo, myTotalDepartureDelay, STEPFLOOR, STEPS2TIME, and MSNet::VEHICLE_STATE_DEPARTED.

Referenced by MSBaseVehicle::onDepart().

Field Documentation

unsigned int MSVehicleControl::myCollisions
protected

The number of collisions.

Definition at line 441 of file MSVehicleControl.h.

Referenced by getCollisionCount(), getTeleportCount(), and registerCollision().

bool MSVehicleControl::myDefaultVTypeMayBeDeleted
protected

Whether no vehicle type was loaded.

Definition at line 493 of file MSVehicleControl.h.

Referenced by checkVType(), and getVType().

unsigned int MSVehicleControl::myDiscarded
protected

The number of vehicles which were discarded while loading.

Definition at line 438 of file MSVehicleControl.h.

Referenced by deleteVehicle(), and getDepartedVehicleNo().

unsigned int MSVehicleControl::myEmergencyStops
protected

The number of emergency stops.

Definition at line 453 of file MSVehicleControl.h.

Referenced by getEmergencyStops(), and registerEmergencyStop().

unsigned int MSVehicleControl::myEndedVehNo
protected

The number of removed vehicles.

Definition at line 435 of file MSVehicleControl.h.

Referenced by deleteVehicle(), getActiveVehicleCount(), getDepartedVehicleNo(), getEndedVehicleNo(), saveState(), and setState().

unsigned int MSVehicleControl::myLoadedVehNo
protected

The number of build vehicles.

Definition at line 429 of file MSVehicleControl.h.

Referenced by GUIVehicleControl::buildVehicle(), buildVehicle(), getActiveVehicleCount(), getLoadedVehicleNo(), and getQuota().

SUMOTime MSVehicleControl::myMaxRandomDepartOffset
protected

The maximum random offset to be added to vehicles departure times (non-negative)

Definition at line 505 of file MSVehicleControl.h.

Referenced by computeRandomDepartOffset(), and MSVehicleControl().

unsigned int MSVehicleControl::myRunningVehNo
protected

The number of vehicles within the network (build and inserted but not removed)

Definition at line 432 of file MSVehicleControl.h.

Referenced by getDepartedVehicleNo(), getRunningVehicleNo(), saveState(), scheduleVehicleRemoval(), setState(), and vehicleDeparted().

SUMOReal MSVehicleControl::myScale
protected

The scaling factor (especially for inc-dua)

Definition at line 502 of file MSVehicleControl.h.

Referenced by getQuota(), and MSVehicleControl().

unsigned int MSVehicleControl::myTeleportsJam
protected

The number of teleports due to jam.

Definition at line 444 of file MSVehicleControl.h.

Referenced by getTeleportCount(), getTeleportsJam(), and registerTeleportJam().

unsigned int MSVehicleControl::myTeleportsWrongLane
protected

The number of teleports due to vehicles stuck on the wrong lane.

Definition at line 450 of file MSVehicleControl.h.

Referenced by getTeleportCount(), getTeleportsWrongLane(), and registerTeleportWrongLane().

unsigned int MSVehicleControl::myTeleportsYield
protected

The number of teleports due to vehicles stuck on a minor road.

Definition at line 447 of file MSVehicleControl.h.

Referenced by getTeleportCount(), getTeleportsYield(), and registerTeleportYield().

SUMOReal MSVehicleControl::myTotalDepartureDelay
protected

The aggregated time vehicles had to wait for departure (in seconds)

Definition at line 462 of file MSVehicleControl.h.

Referenced by getTotalDepartureDelay(), saveState(), setState(), and vehicleDeparted().

SUMOReal MSVehicleControl::myTotalTravelTime
protected

The aggregated time vehicles needed to aacomplish their route (in seconds)

Definition at line 465 of file MSVehicleControl.h.

Referenced by getTotalTravelTime(), saveState(), scheduleVehicleRemoval(), and setState().

VehicleDictType MSVehicleControl::myVehicleDict
protected
VTypeDictType MSVehicleControl::myVTypeDict
protected

Dictionary of vehicle types.

Definition at line 485 of file MSVehicleControl.h.

Referenced by addVType(), checkVType(), getVType(), insertVTypeIDs(), MSVehicleControl(), saveState(), and ~MSVehicleControl().

VTypeDistDictType MSVehicleControl::myVTypeDistDict
protected

A distribution of vehicle types (probability->vehicle type)

Definition at line 490 of file MSVehicleControl.h.

Referenced by addVTypeDistribution(), checkVType(), getVType(), hasVTypeDistribution(), insertVTypeIDs(), saveState(), and ~MSVehicleControl().

std::map<const MSEdge* const, std::vector<SUMOVehicle*> > MSVehicleControl::myWaiting
protected

the lists of waiting vehicles

Definition at line 496 of file MSVehicleControl.h.

Referenced by addWaiting(), getWaitingVehicle(), and removeWaiting().

unsigned int MSVehicleControl::myWaitingForPerson
protected

the number of vehicles contained in myWaiting which can only continue by being triggered

Definition at line 499 of file MSVehicleControl.h.

Referenced by getActiveVehicleCount(), registerOneWaitingForPerson(), and unregisterOneWaitingForPerson().


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