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