42 #ifdef CHECK_MEMORY_LEAKS
44 #endif // CHECK_MEMORY_LEAKS
46 #define NOT_ARRIVED TIME2STEPS(-1)
64 into.push_back(device);
160 finalPosOnInternal = finalPos;
185 os.
writeAttr(
"routeLength", routeLength);
190 std::ostringstream str;
191 for (std::vector<MSDevice*>::const_iterator i = devices.begin(); i != devices.end(); ++i) {
192 if (i != devices.begin()) {
195 str << (*i)->getID();
SUMOTime myArrivalTime
The vehicle's arrival time.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
MSEdge & getEdge() const
Returns the lane's edge.
Representation of a vehicle in the micro simulation.
virtual bool hasDeparted() const =0
Returns whether this vehicle has departed.
virtual const MSRoute & getRoute() const =0
Returns the current route.
A device which collects info on the vehicle trip (mainly on departure and arrival) ...
SUMOVehicle & myHolder
The vehicle that stores the device.
virtual SUMOReal getPositionOnLane() const =0
Get the vehicle's position along the lane.
bool hasInternalLinks() const
return whether the network contains internal links
virtual const MSEdge * getEdge() const =0
Returns the edge the vehicle is currently at.
Notification
Definition of a vehicle state.
std::string time2string(SUMOTime t)
void generateOutput() const
Called on writing tripinfo output.
static void buildVehicleDevices(SUMOVehicle &v, std::vector< MSDevice * > &into)
Build devices for the given vehicle, if needed.
SUMOTime myTimeLoss
The time loss when compared to the desired and allowed speed.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
SUMOReal myArrivalPos
The position on the lane the vehicle arrived at.
~MSDevice_Tripinfo()
Destructor.
The vehicle got vaporized.
virtual SUMOReal getMaxSpeed() const =0
Returns the vehicle's maximum speed.
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
bool notifyMove(SUMOVehicle &veh, SUMOReal oldPos, SUMOReal newPos, SUMOReal newSpeed)
Checks for waiting steps when the vehicle moves.
const MSLane * getLane() const
Returns the lane the reminder works on.
static OptionsCont & getOptions()
Retrieves the options.
SUMOReal myDepartSpeed
The speed on departure.
SUMOReal myArrivalSpeed
The speed when arriving.
static DeviceSet myPendingOutput
const std::string & getID() const
Returns the id.
bool notifyEnter(SUMOVehicle &veh, MSMoveReminder::Notification reason)
Saves departure info on insertion.
virtual const std::vector< MSDevice * > & getDevices() const =0
Returns this vehicle's devices.
SUMOReal getLength() const
return the length of the edge
static void generateOutputForUnfinished()
generate output for vehicles which are still in the network
Representation of a vehicle.
SUMOReal getDistanceBetween(SUMOReal fromPos, SUMOReal toPos, const MSEdge *fromEdge, const MSEdge *toEdge, bool includeInternal=true) const
Compute the distance between 2 given edges on this route, including the length of internal lanes...
unsigned int myWaitingSteps
The overall number of waiting steps.
The vehicle arrived at its destination (is deleted)
SUMOTime depart
The vehicle's departure time.
SUMOReal myDepartPos
The position on the lane the vehicle departed at.
static bool gUsingInternalLanes
Information whether the simulation regards internal lanes.
bool isInternal() const
return whether this edge is an internal edge
std::string myDepartLane
The lane the vehicle departed at.
Abstract in-vehicle device.
The vehicle has departed (was inserted into the network)
virtual SUMOReal getSpeed() const =0
Returns the vehicle's current speed.
MSRouteIterator end() const
Returns the end of the list of edges to pass.
std::string myArrivalLane
The lane the vehicle arrived at.
virtual SUMOTime getDeparture() const =0
Returns this vehicle's real departure time.
static OutputDevice & getDeviceByOption(const std::string &name)
Returns the device described by the option.
virtual const SUMOVehicleParameter & getParameter() const =0
Returns the vehicle's parameter (including departure definition)
MSDevice_Tripinfo()
dummy constructor
const SUMOReal SUMO_const_haltingSpeed
the speed threshold at which vehicles are considered as halting
const std::string & getID() const
Returns the name of the vehicle type.
Static storage of an output device and its base (abstract) implementation.
bool notifyLeave(SUMOVehicle &veh, SUMOReal lastPos, MSMoveReminder::Notification reason)
Saves arrival info.
bool closeTag()
Closes the most recently opened tag.
static const bool gUseMesoSim
SUMOReal getVehicleMaxSpeed(const SUMOVehicle *const veh) const
Returns the maximum speed the vehicle may use on this edge.
std::set< const MSDevice_Tripinfo *, Named::NamedLikeComparatorIdLess< MSDevice_Tripinfo > > DeviceSet
devices which may still need to produce output
virtual const ConstMSEdgeVector::const_iterator & getCurrentRouteEdge() const =0
Returns an iterator pointing to the current edge in this vehicles route.
virtual SUMOReal getArrivalPos() const =0
Returns this vehicle's desired arrivalPos for its current route (may change on reroute) ...
Representation of a lane in the micro simulation.
virtual unsigned int getNumberReroutes() const =0
Returns the number of new routes this vehicle got.
virtual const std::string & getID() const =0
Get the vehicle's ID.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
MSRouteIterator begin() const
Returns the begin of the list of edges to pass.
virtual const MSVehicleType & getVehicleType() const =0
Returns the vehicle's type.