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-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 /****************************************************************************/
21 // Bus line of the city: contains all the buses of this line
22 /****************************************************************************/
23 #ifndef AGBUSLINE_H
24 #define AGBUSLINE_H
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #ifdef _MSC_VER
31 #include <windows_config.h>
32 #else
33 #include <config.h>
34 #endif
35 
36 #include <iostream>
37 #include <string>
38 #include <list>
39 #include "AGBus.h"
40 #include "AGPosition.h"
41 #include "AGDataAndStatistics.h"
42 
43 
44 // ===========================================================================
45 // class definitions
46 // ===========================================================================
47 class AGBusLine {
48 public:
49  AGBusLine(std::string lineNr) :
50  lineNumber(lineNr) {};
51  void setMaxTripTime(int time);
52  void setBusNames();
53  int nbrBuses();
54  void locateStation(AGPosition pos);
55  void locateRevStation(AGPosition pos);
56  void generateBuses(int start, int stop, int rate);
57  void printBuses();
58 
59  std::list<AGPosition> stations;
60  std::list<AGPosition> revStations;
61  std::list<AGBus> buses;
62  std::list<AGBus> revBuses;
63 
64 private:
68  std::string createName();
69 
74  int getReady(int time);
75 
76  std::string lineNumber;
78  int busNbr;
79 };
80 
81 #endif
82 
83 /****************************************************************************/
void generateBuses(int start, int stop, int rate)
Definition: AGBusLine.cpp:149
int busNbr
Definition: AGBusLine.h:78
void setMaxTripTime(int time)
Definition: AGBusLine.cpp:54
std::list< AGBus > buses
Definition: AGBusLine.h:61
std::list< AGPosition > stations
Definition: AGBusLine.h:59
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:62
std::list< AGPosition > revStations
Definition: AGBusLine.h:60
std::string createName()
Definition: AGBusLine.cpp:118
void locateRevStation(AGPosition pos)
Definition: AGBusLine.cpp:144
void locateStation(AGPosition pos)
Definition: AGBusLine.cpp:139
int maxTripTime
Definition: AGBusLine.h:77
std::list< AGBus > revBuses
Definition: AGBusLine.h:62
void printBuses()
Definition: AGBusLine.cpp:160
AGBusLine(std::string lineNr)
Definition: AGBusLine.h:49
int nbrBuses()
Definition: AGBusLine.cpp:134
void setBusNames()
Definition: AGBusLine.cpp:59
int getReady(int time)
Definition: AGBusLine.cpp:126
std::string lineNumber
Definition: AGBusLine.h:76