Eclipse 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-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 /****************************************************************************/
21 // Class containing all information of a given trip (car, bus)
22 /****************************************************************************/
23 #ifndef AGTRIP_H
24 #define AGTRIP_H
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #include <config.h>
31 
32 #include <list>
33 #include "../city/AGPosition.h"
34 #include "../city/AGCar.h"
35 #include "../city/AGBus.h"
36 
37 
38 // ===========================================================================
39 // class definitions
40 // ===========================================================================
41 class AGTrip {
42 public:
43  AGTrip(AGPosition from, AGPosition to, int at) : //vehicle not specified
44  myFrom(from),
45  myTo(to),
46  myDepTime(at),
47  myType("default"),
48  myDay(0) {};
49  AGTrip(AGPosition from, AGPosition to, AGCar c, int at) :
50  myFrom(from),
51  myTo(to),
52  myDepTime(at),
53  myVehicle(c.getName()),
54  myType("default"),
55  myDay(0) {};
56  AGTrip(AGPosition from, AGPosition to, AGBus b, int at) :
57  myFrom(from),
58  myTo(to),
59  myDepTime(at),
60  myVehicle(b.getName()),
61  myType("bus"),
62  myDay(0) {};
63  AGTrip(AGPosition from, AGPosition to, std::string v, int at) :
64  myFrom(from),
65  myTo(to),
66  myDepTime(at),
67  myVehicle(v),
68  myType("default"),
69  myDay(0) {};
70  AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day) :
71  myFrom(from),
72  myTo(to),
73  myDepTime(at),
74  myVehicle(v),
75  myType("default"),
76  myDay(day) {};
77  void print() const;
78  bool operator<(const AGTrip& trip) const;
79 
80  void addLayOver(AGPosition by);
81  void addLayOver(AGTrip& trip);
83 
84  AGPosition getDep() const;
85  AGPosition getArr() const;
86  int getTime() const;
87  void setDepTime(int time);
88  const std::string& getVehicleName() const;
89  void setVehicleName(std::string name);
90  void setArr(AGPosition arrival);
91  void setDep(AGPosition departure);
92  int getDay() const;
93  void setDay(int day);
94  const std::string& getType() const;
95  void setType(std::string type);
96  const std::list<AGPosition>* getPassed() const;
97 
103  int getRideBackArrTime(double secPerKm) const;
108  int getArrTime(double secPerKm) const;
114  int getTimeTrip(double secPerKm) const;
119  int estimateDepTime(int arrTime, double secPerKm) const;
123  bool isDaily() const;
124 
125 private:
129  std::string myVehicle;
134  std::string myType;
139  int myDay;
140  std::list<AGPosition> myPassBy;
141 };
142 
143 #endif
144 
145 /****************************************************************************/
AGTrip::AGTrip
AGTrip(AGPosition from, AGPosition to, AGBus b, int at)
Definition: AGTrip.h:56
AGTrip::myTo
AGPosition myTo
Definition: AGTrip.h:127
AGTrip::addLayOverWithoutDestination
void addLayOverWithoutDestination(AGTrip &trip)
Definition: AGTrip.cpp:75
AGTrip
Definition: AGTrip.h:41
AGTrip::setArr
void setArr(AGPosition arrival)
Definition: AGTrip.cpp:162
AGTrip::getArr
AGPosition getArr() const
Definition: AGTrip.cpp:103
AGTrip::myFrom
AGPosition myFrom
Definition: AGTrip.h:126
AGTrip::setDay
void setDay(int day)
Definition: AGTrip.cpp:182
AGTrip::getType
const std::string & getType() const
Definition: AGTrip.cpp:88
AGTrip::addLayOver
void addLayOver(AGPosition by)
Definition: AGTrip.cpp:61
AGTrip::print
void print() const
Definition: AGTrip.cpp:49
AGTrip::getDay
int getDay() const
Definition: AGTrip.cpp:177
AGTrip::myType
std::string myType
Definition: AGTrip.h:134
AGTrip::getPassed
const std::list< AGPosition > * getPassed() const
Definition: AGTrip.cpp:83
AGTrip::getTimeTrip
int getTimeTrip(double secPerKm) const
Definition: AGTrip.cpp:113
AGTrip::operator<
bool operator<(const AGTrip &trip) const
Definition: AGTrip.cpp:37
AGTrip::AGTrip
AGTrip(AGPosition from, AGPosition to, std::string v, int at)
Definition: AGTrip.h:63
AGCar
Definition: AGCar.h:39
AGTrip::setType
void setType(std::string type)
Definition: AGTrip.cpp:93
AGTrip::myDepTime
int myDepTime
Definition: AGTrip.h:128
AGTrip::myPassBy
std::list< AGPosition > myPassBy
Definition: AGTrip.h:140
AGTrip::getArrTime
int getArrTime(double secPerKm) const
Definition: AGTrip.cpp:132
AGTrip::myDay
int myDay
Definition: AGTrip.h:139
AGTrip::getRideBackArrTime
int getRideBackArrTime(double secPerKm) const
Definition: AGTrip.cpp:137
AGTrip::getDep
AGPosition getDep() const
Definition: AGTrip.cpp:98
AGTrip::setDep
void setDep(AGPosition departure)
Definition: AGTrip.cpp:167
AGTrip::isDaily
bool isDaily() const
Definition: AGTrip.cpp:172
AGPosition
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:56
AGTrip::estimateDepTime
int estimateDepTime(int arrTime, double secPerKm) const
Definition: AGTrip.cpp:147
AGBus
Definition: AGBus.h:36
AGTrip::setDepTime
void setDepTime(int time)
Definition: AGTrip.cpp:142
config.h
AGTrip::getTime
int getTime() const
Definition: AGTrip.cpp:108
AGTrip::setVehicleName
void setVehicleName(std::string name)
Definition: AGTrip.cpp:157
AGTrip::getVehicleName
const std::string & getVehicleName() const
Definition: AGTrip.cpp:152
AGTrip::AGTrip
AGTrip(AGPosition from, AGPosition to, std::string v, int at, int day)
Definition: AGTrip.h:70
AGTrip::AGTrip
AGTrip(AGPosition from, AGPosition to, int at)
Definition: AGTrip.h:43
AGTrip::AGTrip
AGTrip(AGPosition from, AGPosition to, AGCar c, int at)
Definition: AGTrip.h:49
AGTrip::myVehicle
std::string myVehicle
Definition: AGTrip.h:129