SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AGBusLine.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // Bus line of the city: contains all the buses of this line
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
12 // Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
13 // activitygen module
14 // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
15 /****************************************************************************/
16 //
17 // This file is part of SUMO.
18 // SUMO is free software: you can redistribute it and/or modify
19 // it under the terms of the GNU General Public License as published by
20 // the Free Software Foundation, either version 3 of the License, or
21 // (at your option) any later version.
22 //
23 /****************************************************************************/
24 #ifndef AGBUSLINE_H
25 #define AGBUSLINE_H
26 
27 
28 // ===========================================================================
29 // included modules
30 // ===========================================================================
31 #ifdef _MSC_VER
32 #include <windows_config.h>
33 #else
34 #include <config.h>
35 #endif
36 
37 #include <iostream>
38 #include <string>
39 #include <list>
40 #include "AGBus.h"
41 #include "AGPosition.h"
42 #include "AGDataAndStatistics.h"
43 
44 
45 // ===========================================================================
46 // class definitions
47 // ===========================================================================
48 class AGBusLine {
49 public:
50  AGBusLine(std::string lineNr) :
51  lineNumber(lineNr) {};
52  void setMaxTripTime(int time);
53  void setBusNames();
54  int nbrBuses();
55  void locateStation(AGPosition pos);
56  void locateRevStation(AGPosition pos);
57  void generateBuses(int start, int stop, int rate);
58  void printBuses();
59 
60  std::list<AGPosition> stations;
61  std::list<AGPosition> revStations;
62  std::list<AGBus> buses;
63  std::list<AGBus> revBuses;
64 
65 private:
69  std::string createName();
70 
75  int getReady(int time);
76 
77  std::string lineNumber;
79  int busNbr;
80 };
81 
82 #endif
83 
84 /****************************************************************************/
void generateBuses(int start, int stop, int rate)
Definition: AGBusLine.cpp:150
int busNbr
Definition: AGBusLine.h:79
void setMaxTripTime(int time)
Definition: AGBusLine.cpp:55
std::list< AGBus > buses
Definition: AGBusLine.h:62
std::list< AGPosition > stations
Definition: AGBusLine.h:60
A location in the 2D plane freely positioned on a street.
Definition: AGPosition.h:63
std::list< AGPosition > revStations
Definition: AGBusLine.h:61
std::string createName()
Definition: AGBusLine.cpp:119
void locateRevStation(AGPosition pos)
Definition: AGBusLine.cpp:145
void locateStation(AGPosition pos)
Definition: AGBusLine.cpp:140
int maxTripTime
Definition: AGBusLine.h:78
std::list< AGBus > revBuses
Definition: AGBusLine.h:63
void printBuses()
Definition: AGBusLine.cpp:161
AGBusLine(std::string lineNr)
Definition: AGBusLine.h:50
int nbrBuses()
Definition: AGBusLine.cpp:135
void setBusNames()
Definition: AGBusLine.cpp:60
int getReady(int time)
Definition: AGBusLine.cpp:127
std::string lineNumber
Definition: AGBusLine.h:77