SUMO - Simulation of Urban MObility
AGTrip.h
Go to the documentation of this file.
1 /****************************************************************************/
11 // Class containing all information of a given trip (car, bus)
12 /****************************************************************************/
13 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
14 // Copyright (C) 2010-2015 DLR (http://www.dlr.de/) and contributors
15 // activitygen module
16 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
17 /****************************************************************************/
18 //
19 // This file is part of SUMO.
20 // SUMO is free software: you can redistribute it and/or modify
21 // it under the terms of the GNU General Public License as published by
22 // the Free Software Foundation, either version 3 of the License, or
23 // (at your option) any later version.
24 //
25 /****************************************************************************/
26 #ifndef AGTRIP_H
27 #define AGTRIP_H
28 
29 
30 // ===========================================================================
31 // included modules
32 // ===========================================================================
33 #ifdef _MSC_VER
34 #include <windows_config.h>
35 #else
36 #include <config.h>
37 #endif
38 
39 #include <list>
40 #include "../city/AGPosition.h"
41 #include "../city/AGCar.h"
42 #include "../city/AGBus.h"
43 
44 
45 // ===========================================================================
46 // class definitions
47 // ===========================================================================
48 class AGTrip {
49 public:
50  AGTrip(AGPosition from, AGPosition to, int at) : //vehicle not specified
51  myFrom(from),
52  myTo(to),
53  myDepTime(at),
54  myType("default"),
55  myDay(0) {};
56  AGTrip(AGPosition from, AGPosition to, AGCar c, int at) :
57  myFrom(from),
58  myTo(to),
59  myDepTime(at),
60  myVehicle(c.getName()),
61  myType("default"),
62  myDay(0) {};
63  AGTrip(AGPosition from, AGPosition to, AGBus b, int at) :
64  myFrom(from),
65  myTo(to),
66  myDepTime(at),
67  myVehicle(b.getName()),
68  myType("bus"),
69  myDay(0) {};
70  AGTrip(AGPosition from, AGPosition to, std::string v, int at) :
71  myFrom(from),
72  myTo(to),
73  myDepTime(at),
74  myVehicle(v),
75  myType("default"),
76  myDay(0) {};
77  AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day) :
78  myFrom(from),
79  myTo(to),
80  myDepTime(at),
81  myVehicle(v),
82  myType("default"),
83  myDay(day) {};
84  void print() const;
85  bool operator<(const AGTrip& trip) const;
86 
87  void addLayOver(AGPosition by);
88  void addLayOver(AGTrip& trip);
90 
91  AGPosition getDep() const;
92  AGPosition getArr() const;
93  int getTime() const;
94  void setDepTime(int time);
95  const std::string& getVehicleName() const;
96  void setVehicleName(std::string name);
97  void setArr(AGPosition arrival);
98  void setDep(AGPosition departure);
99  int getDay() const;
100  void setDay(int day);
101  const std::string& getType() const;
102  void setType(std::string type);
103  const std::list<AGPosition>* getPassed() const;
104 
110  int getRideBackArrTime(SUMOReal secPerKm) const;
115  int getArrTime(SUMOReal secPerKm) const;
121  int getTimeTrip(SUMOReal secPerKm) const;
126  int estimateDepTime(int arrTime, SUMOReal secPerKm) const;
130  bool isDaily() const;
131 
132 private:
136  std::string myVehicle;
141  std::string myType;
146  int myDay;
147  std::list<AGPosition> myPassBy;
148 };
149 
150 #endif
151 
152 /****************************************************************************/
Definition: AGCar.h:46
void addLayOver(AGPosition by)
Definition: AGTrip.cpp:68
AGPosition getDep() const
Definition: AGTrip.cpp:105
bool operator<(const AGTrip &trip) const
Definition: AGTrip.cpp:44
int myDepTime
Definition: AGTrip.h:135
int getTimeTrip(SUMOReal secPerKm) const
Definition: AGTrip.cpp:120
AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day)
Definition: AGTrip.h:77
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:63
void addLayOverWithoutDestination(AGTrip &trip)
Definition: AGTrip.cpp:82
bool isDaily() const
Definition: AGTrip.cpp:179
void setType(std::string type)
Definition: AGTrip.cpp:100
void setArr(AGPosition arrival)
Definition: AGTrip.cpp:169
AGPosition myTo
Definition: AGTrip.h:134
Definition: AGBus.h:43
AGPosition myFrom
Definition: AGTrip.h:133
std::list< AGPosition > myPassBy
Definition: AGTrip.h:147
void setDay(int day)
Definition: AGTrip.cpp:189
void setDepTime(int time)
Definition: AGTrip.cpp:149
int estimateDepTime(int arrTime, SUMOReal secPerKm) const
Definition: AGTrip.cpp:154
const std::list< AGPosition > * getPassed() const
Definition: AGTrip.cpp:90
std::string myType
Definition: AGTrip.h:141
int getTime() const
Definition: AGTrip.cpp:115
void setVehicleName(std::string name)
Definition: AGTrip.cpp:164
void print() const
Definition: AGTrip.cpp:56
AGTrip(AGPosition from, AGPosition to, std::string v, int at)
Definition: AGTrip.h:70
const std::string & getVehicleName() const
Definition: AGTrip.cpp:159
AGPosition getArr() const
Definition: AGTrip.cpp:110
int myDay
Definition: AGTrip.h:146
AGTrip(AGPosition from, AGPosition to, int at)
Definition: AGTrip.h:50
AGTrip(AGPosition from, AGPosition to, AGBus b, int at)
Definition: AGTrip.h:63
void setDep(AGPosition departure)
Definition: AGTrip.cpp:174
int getDay() const
Definition: AGTrip.cpp:184
int getRideBackArrTime(SUMOReal secPerKm) const
Definition: AGTrip.cpp:144
AGTrip(AGPosition from, AGPosition to, AGCar c, int at)
Definition: AGTrip.h:56
std::string myVehicle
Definition: AGTrip.h:136
#define SUMOReal
Definition: config.h:214
Definition: AGTrip.h:48
int getArrTime(SUMOReal secPerKm) const
Definition: AGTrip.cpp:139
const std::string & getType() const
Definition: AGTrip.cpp:95