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