73 typedef std::map<std::string, SUMOVehicle*>::const_iterator
constVehIt;
101 const bool ignoreStopErrors,
const bool fromRouteFile =
true);
281 int getQuota(
double frac = -1,
int loaded = -1)
const;
391 bool hasVType(
const std::string&
id)
const;
487 void setState(
int runningVehNo,
int loadedVehNo,
int endedVehNo,
double totalDepartureDelay,
double totalTravelTime);
const std::string DEFAULT_VTYPE_ID
The base class for microscopic and mesoscopic vehicles.
A road/street connecting two junctions.
The class responsible for building and deletion of vehicles.
MSVehicleControl & operator=(const MSVehicleControl &s)
invalidated assignment operator
void registerOneWaiting(const bool isPerson)
increases the count of vehicles waiting for a transport to allow recognition of person / container re...
double myScale
The scaling factor (especially for inc-dua)
bool hasVType(const std::string &id) const
Asks for existence of a vehicle type.
std::map< std::string, SUMOVehicle * >::const_iterator constVehIt
Definition of the internal vehicles map iterator.
void clearState()
Remove all vehicles before quick-loading state.
bool myDefaultTaxiTypeMayBeDeleted
Whether the default taxi type was already used or can still be replaced.
std::map< std::string, SUMOVehicle * > VehicleDictType
Vehicle dictionary type.
bool addVType(MSVehicleType *vehType)
Adds a vehicle type.
void setState(int runningVehNo, int loadedVehNo, int endedVehNo, double totalDepartureDelay, double totalTravelTime)
Sets the current state variables as loaded from the stream.
int getRunningVehicleNo() const
Returns the number of build and inserted, but not yet deleted vehicles.
void registerEmergencyStop()
register emergency stop
void removePending()
Removes a vehicle after it has ended.
double getTotalTravelTime() const
Returns the total travel time.
void adaptIntermodalRouter(MSNet::MSIntermodalRouter &router) const
MSVehicleControl(const MSVehicleControl &s)
invalidated copy constructor
void setScale(double scale)
sets the demand scaling factor
std::vector< SUMOVehicle * > myPendingRemovals
List of vehicles which are going to be removed.
int myLoadedVehNo
The number of build vehicles.
void registerTeleportYield()
register one non-collision-related teleport
void discountStateRemoved(int n)
discount vehicles that were removed during state loading
bool hasVTypeDistribution(const std::string &id) const
Asks for a vehicle type distribution.
void vehicleDeparted(const SUMOVehicle &v)
Informs this control about a vehicle's departure.
int getLoadedVehicleNo() const
Returns the number of build vehicles.
bool myDefaultVTypeMayBeDeleted
Whether the default vehicle type was already used or can still be replaced.
double getMinDeceleration() const
return the minimum deceleration capability for all vehicles that ever entered the network
virtual void deleteVehicle(SUMOVehicle *v, bool discard=false)
Deletes the vehicle.
virtual bool addVehicle(const std::string &id, SUMOVehicle *v)
Tries to insert the vehicle into the internal vehicle container.
int getCollisionCount() const
return the number of collisions
int getTeleportsWrongLane() const
return the number of teleports due to vehicles stuck on the wrong lane
int myTeleportsYield
The number of teleports due to vehicles stuck on a minor road.
int myTeleportsWrongLane
The number of teleports due to vehicles stuck on the wrong lane.
int getStoppedVehiclesCount() const
return the number of vehicles that are currently stopped
double getVehicleMeanSpeed() const
SUMOVehicle * getVehicle(const std::string &id) const
Returns the vehicle with the given id.
int getTeleportsYield() const
return the number of teleports due to vehicles stuck on a minor road
std::map< std::string, std::set< std::string > > myVTypeToDist
Inverse lookup from vehicle type to distributions it is a member of.
int getEmergencyStops() const
return the number of emergency stops
bool myDefaultBikeTypeMayBeDeleted
Whether the default bicycle type was already used or can still be replaced.
double myMinDeceleration
The minimum deceleration capability for all vehicles in the network.
void registerTeleportJam()
register one non-collision-related teleport
void registerStopEnded()
register emergency stop
double getTotalDepartureDelay() const
Returns the total departure delay.
bool isPendingRemoval(SUMOVehicle *veh)
whether the given vehicle is scheduled for removal
virtual ~MSVehicleControl()
Destructor.
void removeVType(const MSVehicleType *vehType)
int myStoppedVehicles
The number of stopped vehicles.
std::map< std::string, MSVehicleType * > VTypeDictType
Vehicle type dictionary type.
bool myDefaultPedTypeMayBeDeleted
Whether the default pedestrian type was already used or can still be replaced.
virtual std::pair< double, double > getVehicleMeanSpeeds() const
get current absolute and relative mean vehicle speed in the network
bool checkVType(const std::string &id)
Checks whether the vehicle type (distribution) may be added.
void initVehicle(MSBaseVehicle *built, const bool ignoreStopErrors)
int myCollisions
The number of collisions.
int myEmergencyStops
The number of emergency stops.
int getQuota(double frac=-1, int loaded=-1) const
Returns the number of instances of the current vehicle that shall be emitted considering that "frac" ...
MSVehicleControl()
Constructor.
int myWaitingForPerson
the number of vehicles wainting for persons contained in myWaiting which can only continue by being t...
double myMaxSpeedFactor
The maximum speed factor for all vehicles in the network.
void registerCollision()
registers one collision-related teleport
int myDiscarded
The number of vehicles which were discarded while loading.
int getDepartedVehicleNo() const
Returns the number of inserted vehicles.
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.
int getArrivedVehicleNo() const
Returns the number of arrived vehicles.
int myWaitingForContainer
the number of vehicles wainting for containers contained in myWaiting which can only continue by bein...
bool myDefaultContainerTypeMayBeDeleted
Whether the default container type was already used or can still be replaced.
int myEndedVehNo
The number of removed vehicles.
void unregisterOneWaiting(const bool isPerson)
decreases the count of vehicles waiting for a transport to allow recognition of person / container re...
bool addVTypeDistribution(const std::string &id, RandomDistributor< MSVehicleType * > *vehTypeDistribution)
Adds a vehicle type distribution.
int myTeleportsJam
The number of teleports due to jam.
int getActiveVehicleCount() const
Returns the number of build vehicles that have not been removed or need to wait for a passenger or a ...
void insertVTypeIDs(std::vector< std::string > &into) const
Inserts ids of all known vehicle types and vehicle type distributions to the given vector.
int getTeleportsJam() const
return the number of teleports due to jamming
double myTotalDepartureDelay
The aggregated time vehicles had to wait for departure (in seconds)
int getEndedVehicleNo() const
Returns the number of removed vehicles.
VTypeDictType myVTypeDict
Dictionary of vehicle types.
double getMaxSpeedFactor() const
return the maximum speed factor for all vehicles that ever entered the network
const RandomDistributor< MSVehicleType * > * getVTypeDistribution(const std::string &typeDistID) const
return the vehicle type distribution with the given id
virtual int getHaltingVehicleNo() const
Returns the number of halting vehicles.
void scheduleVehicleRemoval(SUMOVehicle *veh, bool checkDuplicate=false)
Removes a vehicle after it has ended.
constVehIt loadedVehBegin() const
Returns the begin of the internal vehicle map.
double myTotalTravelTime
The aggregated time vehicles needed to aacomplish their route (in seconds)
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.
std::vector< SUMOVehicle * > myPTVehicles
List of vehicles which belong to public transport.
int getTeleportCount() const
return the number of teleports (including collisions)
VTypeDistDictType myVTypeDistDict
A distribution of vehicle types (probability->vehicle type)
std::map< std::string, RandomDistributor< MSVehicleType * > * > VTypeDistDictType
Vehicle type distribution dictionary type.
void abortWaiting()
informes about all waiting vehicles (deletion in destructor)
void saveState(OutputDevice &out)
Saves the current state into the given stream.
double getVehicleMeanSpeedRelative() const
void registerTeleportWrongLane()
register one non-collision-related teleport
constVehIt loadedVehEnd() const
Returns the end of the internal vehicle map.
const std::set< std::string > getVTypeDistributionMembership(const std::string &id) const
Return the distribution IDs the vehicle type is a member of.
int myRunningVehNo
The number of vehicles within the network (build and inserted but not removed)
int getDiscardedVehicleNo() const
Returns the number of discarded vehicles.
void registerStopStarted()
register emergency stop
VehicleDictType myVehicleDict
Dictionary of vehicles.
Representation of a vehicle in the micro simulation.
The car-following model and parameter.
Static storage of an output device and its base (abstract) implementation.
Representation of a vehicle.
Structure representing possible vehicle parameter.