Eclipse SUMO - Simulation of Urban MObility
AGActivityTripWriter.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // activitygen module
5 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 // SPDX-License-Identifier: EPL-2.0
11 /****************************************************************************/
18 // Class for writing Trip objects in a SUMO-route file.
19 /****************************************************************************/
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <utils/common/RGBColor.h>
29 #include "activities/AGTrip.h"
30 #include "city/AGStreet.h"
31 #include "AGActivityTripWriter.h"
32 
33 
34 // ===========================================================================
35 // method definitions
36 // ===========================================================================
39  .writeAttr(SUMO_ATTR_ID, "default")
40  .writeAttr(SUMO_ATTR_VCLASS, "passenger")
43  .writeAttr(SUMO_ATTR_ID, "random")
44  .writeAttr(SUMO_ATTR_VCLASS, "passenger")
47  .writeAttr(SUMO_ATTR_ID, "bus")
50  myTripOutput.lf();
51 }
52 
53 
54 void
56  int time = (trip.getDay() - 1) * 86400 + trip.getTime();
57 
60  .writeAttr(SUMO_ATTR_TYPE, trip.getType())
61  .writeAttr(SUMO_ATTR_DEPART, time2string(TIME2STEPS(time)))
62  .writeAttr(SUMO_ATTR_DEPARTPOS, trip.getDep().getPosition())
63  .writeAttr(SUMO_ATTR_ARRIVALPOS, trip.getArr().getPosition())
64  .writeAttr(SUMO_ATTR_ARRIVALSPEED, 0.)
66 
67  if (!trip.getPassed()->empty()) {
68  std::ostringstream oss;
69  for (std::list<AGPosition>::const_iterator it = trip.getPassed()->begin(); it != trip.getPassed()->end(); ++it) {
70  if (it != trip.getPassed()->begin()) {
71  oss << " ";
72  }
73  oss << it->getStreet().getID();
74  }
76  }
79 }
80 
81 
82 /****************************************************************************/
SUMO_ATTR_TYPE
Definition: SUMOXMLDefinitions.h:381
SUMO_ATTR_DEPART
Definition: SUMOXMLDefinitions.h:431
AGTrip
Definition: AGTrip.h:40
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:63
AGTrip::getArr
AGPosition getArr() const
Definition: AGTrip.cpp:102
AGStreet.h
AGActivityTripWriter::AGActivityTripWriter
AGActivityTripWriter(OutputDevice &file)
Definition: AGActivityTripWriter.cpp:37
AGTrip::getType
const std::string & getType() const
Definition: AGTrip.cpp:87
SUMO_ATTR_COLOR
A color information.
Definition: SUMOXMLDefinitions.h:704
SUMO_ATTR_ARRIVALPOS
Definition: SUMOXMLDefinitions.h:437
SUMO_ATTR_ID
Definition: SUMOXMLDefinitions.h:378
SUMO_TAG_VTYPE
description of a vehicle type
Definition: SUMOXMLDefinitions.h:121
AGTrip::getDay
int getDay() const
Definition: AGTrip.cpp:176
AGActivityTripWriter.h
RGBColor.h
AGPosition::getPosition
double getPosition() const
Provides the relative position of this AGPosition on the street.
Definition: AGPosition.cpp:106
OutputDevice::closeTag
bool closeTag(const std::string &comment="")
Closes the most recently opened tag and optionally adds a comment.
Definition: OutputDevice.cpp:253
SUMO_ATTR_TO
Definition: SUMOXMLDefinitions.h:640
AGTrip::getPassed
const std::list< AGPosition > * getPassed() const
Definition: AGTrip.cpp:82
OutputDevice::writeAttr
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
Definition: OutputDevice.h:255
SUMO_ATTR_ARRIVALSPEED
Definition: SUMOXMLDefinitions.h:439
TIME2STEPS
#define TIME2STEPS(x)
Definition: SUMOTime.h:58
OutputDevice.h
RGBColor::BLUE
static const RGBColor BLUE
Definition: RGBColor.h:191
time2string
std::string time2string(SUMOTime t)
Definition: SUMOTime.cpp:67
RGBColor::RED
static const RGBColor RED
named colors
Definition: RGBColor.h:189
AGActivityTripWriter::addTrip
void addTrip(const AGTrip &trip)
Definition: AGActivityTripWriter.cpp:55
AGTrip::getDep
AGPosition getDep() const
Definition: AGTrip.cpp:97
SUMO_ATTR_FROM
Definition: SUMOXMLDefinitions.h:639
AGActivityTripWriter::myTripOutput
OutputDevice & myTripOutput
Definition: AGActivityTripWriter.h:47
OutputDevice::openTag
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
Definition: OutputDevice.cpp:239
SUMO_ATTR_VIA
Definition: SUMOXMLDefinitions.h:723
OutputDevice::lf
void lf()
writes a line feed if applicable
Definition: OutputDevice.h:233
SUMO_ATTR_VCLASS
Definition: SUMOXMLDefinitions.h:450
config.h
AGPosition::getStreet
const AGStreet & getStreet() const
Provides the street this AGPosition is located on.
Definition: AGPosition.cpp:100
AGTrip::getTime
int getTime() const
Definition: AGTrip.cpp:107
RGBColor::GREEN
static const RGBColor GREEN
Definition: RGBColor.h:190
SUMO_ATTR_DEPARTPOS
Definition: SUMOXMLDefinitions.h:433
AGTrip::getVehicleName
const std::string & getVehicleName() const
Definition: AGTrip.cpp:151
AGTrip.h
Named::getID
const std::string & getID() const
Returns the id.
Definition: Named.h:76
SUMO_TAG_TRIP
a single trip definition (used by router)
Definition: SUMOXMLDefinitions.h:145