SUMO - Simulation of Urban MObility
AGTrip.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2010-2017 German Aerospace Center (DLR) and others.
4 // activitygen module
5 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
6 /****************************************************************************/
7 //
8 // This program and the accompanying materials
9 // are made available under the terms of the Eclipse Public License v2.0
10 // which accompanies this distribution, and is available at
11 // http://www.eclipse.org/legal/epl-v20.html
12 //
13 /****************************************************************************/
23 // Class containing all information of a given trip (car, bus)
24 /****************************************************************************/
25 #ifndef AGTRIP_H
26 #define AGTRIP_H
27 
28 
29 // ===========================================================================
30 // included modules
31 // ===========================================================================
32 #ifdef _MSC_VER
33 #include <windows_config.h>
34 #else
35 #include <config.h>
36 #endif
37 
38 #include <list>
39 #include "../city/AGPosition.h"
40 #include "../city/AGCar.h"
41 #include "../city/AGBus.h"
42 
43 
44 // ===========================================================================
45 // class definitions
46 // ===========================================================================
47 class AGTrip {
48 public:
49  AGTrip(AGPosition from, AGPosition to, int at) : //vehicle not specified
50  myFrom(from),
51  myTo(to),
52  myDepTime(at),
53  myType("default"),
54  myDay(0) {};
55  AGTrip(AGPosition from, AGPosition to, AGCar c, int at) :
56  myFrom(from),
57  myTo(to),
58  myDepTime(at),
59  myVehicle(c.getName()),
60  myType("default"),
61  myDay(0) {};
62  AGTrip(AGPosition from, AGPosition to, AGBus b, int at) :
63  myFrom(from),
64  myTo(to),
65  myDepTime(at),
66  myVehicle(b.getName()),
67  myType("bus"),
68  myDay(0) {};
69  AGTrip(AGPosition from, AGPosition to, std::string v, int at) :
70  myFrom(from),
71  myTo(to),
72  myDepTime(at),
73  myVehicle(v),
74  myType("default"),
75  myDay(0) {};
76  AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day) :
77  myFrom(from),
78  myTo(to),
79  myDepTime(at),
80  myVehicle(v),
81  myType("default"),
82  myDay(day) {};
83  void print() const;
84  bool operator<(const AGTrip& trip) const;
85 
86  void addLayOver(AGPosition by);
87  void addLayOver(AGTrip& trip);
89 
90  AGPosition getDep() const;
91  AGPosition getArr() const;
92  int getTime() const;
93  void setDepTime(int time);
94  const std::string& getVehicleName() const;
95  void setVehicleName(std::string name);
96  void setArr(AGPosition arrival);
97  void setDep(AGPosition departure);
98  int getDay() const;
99  void setDay(int day);
100  const std::string& getType() const;
101  void setType(std::string type);
102  const std::list<AGPosition>* getPassed() const;
103 
109  int getRideBackArrTime(double secPerKm) const;
114  int getArrTime(double secPerKm) const;
120  int getTimeTrip(double secPerKm) const;
125  int estimateDepTime(int arrTime, double secPerKm) const;
129  bool isDaily() const;
130 
131 private:
135  std::string myVehicle;
140  std::string myType;
145  int myDay;
146  std::list<AGPosition> myPassBy;
147 };
148 
149 #endif
150 
151 /****************************************************************************/
Definition: AGCar.h:45
void addLayOver(AGPosition by)
Definition: AGTrip.cpp:67
int getTimeTrip(double secPerKm) const
Definition: AGTrip.cpp:119
bool isDaily() const
Definition: AGTrip.cpp:178
void print() const
Definition: AGTrip.cpp:55
int myDepTime
Definition: AGTrip.h:134
AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day)
Definition: AGTrip.h:76
bool operator<(const AGTrip &trip) const
Definition: AGTrip.cpp:43
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:62
const std::list< AGPosition > * getPassed() const
Definition: AGTrip.cpp:89
void addLayOverWithoutDestination(AGTrip &trip)
Definition: AGTrip.cpp:81
void setType(std::string type)
Definition: AGTrip.cpp:99
void setArr(AGPosition arrival)
Definition: AGTrip.cpp:168
AGPosition myTo
Definition: AGTrip.h:133
Definition: AGBus.h:42
AGPosition myFrom
Definition: AGTrip.h:132
std::list< AGPosition > myPassBy
Definition: AGTrip.h:146
void setDay(int day)
Definition: AGTrip.cpp:188
void setDepTime(int time)
Definition: AGTrip.cpp:148
AGPosition getArr() const
Definition: AGTrip.cpp:109
int getTime() const
Definition: AGTrip.cpp:114
std::string myType
Definition: AGTrip.h:140
void setVehicleName(std::string name)
Definition: AGTrip.cpp:163
AGTrip(AGPosition from, AGPosition to, std::string v, int at)
Definition: AGTrip.h:69
int getDay() const
Definition: AGTrip.cpp:183
const std::string & getVehicleName() const
Definition: AGTrip.cpp:158
int getArrTime(double secPerKm) const
Definition: AGTrip.cpp:138
int myDay
Definition: AGTrip.h:145
AGTrip(AGPosition from, AGPosition to, int at)
Definition: AGTrip.h:49
AGTrip(AGPosition from, AGPosition to, AGBus b, int at)
Definition: AGTrip.h:62
AGPosition getDep() const
Definition: AGTrip.cpp:104
void setDep(AGPosition departure)
Definition: AGTrip.cpp:173
AGTrip(AGPosition from, AGPosition to, AGCar c, int at)
Definition: AGTrip.h:55
std::string myVehicle
Definition: AGTrip.h:135
int estimateDepTime(int arrTime, double secPerKm) const
Definition: AGTrip.cpp:153
const std::string & getType() const
Definition: AGTrip.cpp:94
int getRideBackArrTime(double secPerKm) const
Definition: AGTrip.cpp:143
Definition: AGTrip.h:47