void AGActivityTripWriter::addTrip(const AGTrip& trip) { int time = (trip.getDay() - 1) * 86400 + trip.getTime(); myTripOutput.openTag(SUMO_TAG_TRIP) .writeAttr(SUMO_ATTR_ID, trip.getVehicleName()) .writeAttr(SUMO_ATTR_TYPE, trip.getType()) .writeAttr(SUMO_ATTR_DEPART, time) .writeAttr(SUMO_ATTR_DEPARTPOS, trip.getDep().getPosition()) .writeAttr(SUMO_ATTR_ARRIVALPOS, trip.getArr().getPosition()) .writeAttr(SUMO_ATTR_ARRIVALSPEED, 0.) .writeAttr(SUMO_ATTR_FROM, trip.getDep().getStreet().getID()); if (!trip.getPassed()->empty()) { std::ostringstream oss; for (std::list<AGPosition>::const_iterator it = trip.getPassed()->begin(); it != trip.getPassed()->end(); ++it) { if (it != trip.getPassed()->begin()) { oss << " "; } oss << it->getStreet().getID(); } myTripOutput.writeAttr(SUMO_ATTR_VIA, oss.str()); } myTripOutput.writeAttr(SUMO_ATTR_TO, trip.getArr().getStreet().getID()); myTripOutput.closeTag(); }