SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RORouteHandler.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // Parser and container for routes during their loading
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
12 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
13 /****************************************************************************/
14 //
15 // This file is part of SUMO.
16 // SUMO is free software: you can redistribute it and/or modify
17 // it under the terms of the GNU General Public License as published by
18 // the Free Software Foundation, either version 3 of the License, or
19 // (at your option) any later version.
20 //
21 /****************************************************************************/
22 #ifndef RORouteHandler_h
23 #define RORouteHandler_h
24 
25 
26 // ===========================================================================
27 // included modules
28 // ===========================================================================
29 #ifdef _MSC_VER
30 #include <windows_config.h>
31 #else
32 #include <config.h>
33 #endif
34 
35 #include <string>
36 #include <vector>
38 #include <utils/common/SUMOTime.h>
40 
41 
42 // ===========================================================================
43 // class declarations
44 // ===========================================================================
46 class ROEdge;
47 class RONet;
48 class RORoute;
49 class RORouteDef;
50 
51 
52 // ===========================================================================
53 // class definitions
54 // ===========================================================================
64 public:
66  RORouteHandler(RONet& net, const std::string& file,
67  const bool tryRepair);
68 
70  virtual ~RORouteHandler();
71 
72 protected:
74 
75 
83  virtual void myStartElement(int element,
84  const SUMOSAXAttributes& attrs);
85 
86 
93  virtual void myEndElement(int element);
95 
96 
99 
102 
104  void openRoute(const SUMOSAXAttributes& attrs);
105 
111  void closeRoute();
112 
114  void openRouteDistribution(const SUMOSAXAttributes& attrs);
115 
117  void closeRouteDistribution();
118 
120  void closeVehicle();
121 
123  void closePerson();
124 
126  void closeFlow();
127 
129  void addStop(const SUMOSAXAttributes& attrs);
130 
132  void parseEdges(const std::string& desc, std::vector<const ROEdge*>& into,
133  const std::string& rid);
134 
135 protected:
138 
140  std::vector<const ROEdge*> myActiveRoute;
141 
144 
146  std::map<const SUMOTime, std::string> myPersonBuffer;
147 
149  const bool myTryRepair;
150 
153 
156 
159 
162 
163 private:
165  RORouteHandler(const RORouteHandler& s);
166 
169 
170 };
171 
172 
173 #endif
174 
175 /****************************************************************************/
176