67 assert(veh !=
nullptr);
69 WRITE_WARNINGF(
TL(
"Vehicle '%' stops on edge '%', time=% without ending the previous stop."),
80 WRITE_WARNINGF(
TL(
"Vehicle '%' loads persons on edge '%', time=% without starting the stop."),
83 myStopped.find(veh)->second.loadedPersons += n;
91 WRITE_WARNINGF(
TL(
"Vehicle '%' unloads persons on edge '%', time=% without starting the stop."),
94 myStopped.find(veh)->second.unloadedPersons += n;
103 WRITE_WARNINGF(
TL(
"Vehicle '%' loads container on edge '%', time=% without starting the stop."),
106 myStopped.find(veh)->second.loadedContainers += n;
114 WRITE_WARNINGF(
TL(
"Vehicle '%' unloads container on edge '%', time=% without starting the stop."),
117 myStopped.find(veh)->second.unloadedContainers += n;
123 assert(veh !=
nullptr);
125 WRITE_WARNINGF(
TL(
"Vehicle '%' ends stop on edge '%', time=% without entering the stop."),
131 double arrivalDelay = -1;
132 if (stop.
until >= 0 && !simEnd) {
150 if (stop.
until >= 0) {
174 if (stop.
line !=
"") {
177 if (stop.
split !=
"") {
199 assert(stop !=
nullptr);
202 stopEnded(veh, *stop, laneOrEdgeID,
true);
#define WRITE_WARNINGF(...)
std::string time2string(SUMOTime t, bool humanReadable)
convert SUMOTime to string (independently of global format setting)
@ SUMO_ATTR_CONTAINER_STOP
@ SUMO_ATTR_CHARGING_STATION
@ SUMO_ATTR_OVERHEAD_WIRE_SEGMENT
static bool gUseStopEnded
whether the simulation should replay previous stop times
Realises dumping the complete network state.
virtual ~MSStopOut()
Destructor.
void loadedContainers(const SUMOVehicle *veh, int n)
static void init()
Static intialization.
MSStopOut(OutputDevice &dev)
constructor.
std::map< const SUMOVehicle *, StopInfo, ComparatorNumericalIdLess > myStopped
void unloadedPersons(const SUMOVehicle *veh, int n)
void stopStarted(const SUMOVehicle *veh, int numPersons, int numContainers, SUMOTime time)
void generateOutputForUnfinished()
generate output for vehicles which are still stopped at simulation end
void stopEnded(const SUMOVehicle *veh, const SUMOVehicleParameter::Stop &stop, const std::string &laneOrEdgeID, bool simEnd=false)
void unloadedContainers(const SUMOVehicle *veh, int n)
static MSStopOut * myInstance
void loadedPersons(const SUMOVehicle *veh, int n)
const std::string & getID() const
Returns the name of the vehicle type.
static std::string getIDSecure(const T *obj, const std::string &fallBack="NULL")
get an identifier for Named-like object which may be Null
const std::string & getID() const
Returns the id.
static OptionsCont & getOptions()
Retrieves the options.
Static storage of an output device and its base (abstract) implementation.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
static OutputDevice & getDeviceByOption(const std::string &name)
Returns the device described by the option.
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
virtual const MSVehicleType & getVehicleType() const =0
Returns the object's "vehicle" type.
virtual const MSLane * getLane() const =0
Returns the lane the object is currently at.
virtual const MSEdge * getEdge() const =0
Returns the edge the object is currently at.
virtual double getPositionOnLane() const =0
Get the object's position along the lane.
Representation of a vehicle.
virtual bool hasDeparted() const =0
Returns whether this vehicle has departed.
virtual const SUMOVehicleParameter::Stop * getNextStopParameter() const =0
Returns parameters of the next stop or nullptr.
Definition of vehicle stop (position and duration)
SUMOTime started
the time at which this stop was reached
ParkingType parking
whether the vehicle is removed from the net while stopping
std::string parkingarea
(Optional) parking area if one is assigned to the stop
std::string split
the id of the vehicle (train portion) that splits of upon reaching this stop
std::string line
the new line id of the trip within a cyclical public transport route
std::string chargingStation
(Optional) charging station if one is assigned to the stop
std::string overheadWireSegment
(Optional) overhead line segment if one is assigned to the stop
SUMOTime until
The time at which the vehicle may continue its journey.
SUMOTime ended
the time at which this stop was ended
std::string busstop
(Optional) bus stop if one is assigned to the stop
std::string tripId
id of the trip within a cyclical public transport route
std::string containerstop
(Optional) container stop if one is assigned to the stop
SUMOTime arrival
The (expected) time at which the vehicle reaches the stop.