Eclipse SUMO - Simulation of Urban MObility
AGBusLine.h
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 /****************************************************************************/
19 // Bus line of the city: contains all the buses of this line
20 /****************************************************************************/
21 #ifndef AGBUSLINE_H
22 #define AGBUSLINE_H
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #include <config.h>
29 
30 #include <iostream>
31 #include <string>
32 #include <list>
33 #include "AGBus.h"
34 #include "AGPosition.h"
35 #include "AGDataAndStatistics.h"
36 
37 
38 // ===========================================================================
39 // class definitions
40 // ===========================================================================
41 class AGBusLine {
42 public:
43  AGBusLine(std::string lineNr) :
44  lineNumber(lineNr) {};
45  void setMaxTripTime(int time);
46  void setBusNames();
47  int nbrBuses();
48  void locateStation(AGPosition pos);
49  void locateRevStation(AGPosition pos);
50  void generateBuses(int start, int stop, int rate);
51  void printBuses();
52 
53  std::list<AGPosition> stations;
54  std::list<AGPosition> revStations;
55  std::list<AGBus> buses;
56  std::list<AGBus> revBuses;
57 
58 private:
62  std::string createName();
63 
68  int getReady(int time);
69 
70  std::string lineNumber;
72  int busNbr;
73 };
74 
75 #endif
76 
77 /****************************************************************************/
AGBusLine::AGBusLine
AGBusLine(std::string lineNr)
Definition: AGBusLine.h:43
AGBusLine::maxTripTime
int maxTripTime
Definition: AGBusLine.h:71
AGBusLine::lineNumber
std::string lineNumber
Definition: AGBusLine.h:70
AGBusLine::locateRevStation
void locateRevStation(AGPosition pos)
Definition: AGBusLine.cpp:138
AGBusLine::setBusNames
void setBusNames()
Definition: AGBusLine.cpp:53
AGBusLine::nbrBuses
int nbrBuses()
Definition: AGBusLine.cpp:128
AGBusLine::revStations
std::list< AGPosition > revStations
Definition: AGBusLine.h:54
AGBusLine::printBuses
void printBuses()
Definition: AGBusLine.cpp:154
AGBusLine::stations
std::list< AGPosition > stations
Definition: AGBusLine.h:53
AGPosition.h
AGBusLine::setMaxTripTime
void setMaxTripTime(int time)
Definition: AGBusLine.cpp:48
AGBusLine::busNbr
int busNbr
Definition: AGBusLine.h:72
AGPosition
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:56
AGBusLine::getReady
int getReady(int time)
Definition: AGBusLine.cpp:120
AGBusLine::locateStation
void locateStation(AGPosition pos)
Definition: AGBusLine.cpp:133
AGBusLine::buses
std::list< AGBus > buses
Definition: AGBusLine.h:55
AGBus.h
config.h
AGBusLine::generateBuses
void generateBuses(int start, int stop, int rate)
Definition: AGBusLine.cpp:143
AGBusLine
Definition: AGBusLine.h:41
AGDataAndStatistics.h
AGBusLine::revBuses
std::list< AGBus > revBuses
Definition: AGBusLine.h:56
AGBusLine::createName
std::string createName()
Definition: AGBusLine.cpp:112