SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NIImporter_DlrNavteq.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // Importer for networks stored in Elmar's format
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/
11 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef NIImporter_DlrNavteq_h
22 #define NIImporter_DlrNavteq_h
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #ifdef _MSC_VER
29 #include <windows_config.h>
30 #else
31 #include <config.h>
32 #endif
33 
34 #include <string>
35 #include <map>
38 
39 
40 // ===========================================================================
41 // class declarations
42 // ===========================================================================
43 class NBEdgeCont;
44 class NBNetBuilder;
45 class NBNodeCont;
47 class NBTypeCont;
48 class OptionsCont;
49 class PositionVector;
50 
51 
52 // ===========================================================================
53 // class definitions
54 // ===========================================================================
61 public:
73  static void loadNetwork(const OptionsCont& oc, NBNetBuilder& nb);
74 
75 
76 protected:
85  class NodesHandler : public LineHandler {
86  public:
92  NodesHandler(NBNodeCont& nc, const std::string& file,
93  std::map<std::string, PositionVector> &geoms) ;
94 
95 
97  ~NodesHandler() ;
98 
99 
111  bool report(const std::string& result) ;
112 
113 
114  protected:
115  // @brief The node container to store parsed nodes into
117 
119  std::map<std::string, PositionVector> &myGeoms;
120 
121 
122  private:
124  NodesHandler(const NodesHandler&);
125 
128 
129  };
130 
131 
140  class EdgesHandler : public LineHandler {
141  public:
149  const std::string& file, std::map<std::string, PositionVector> &geoms) ;
150 
151 
153  ~EdgesHandler() ;
154 
155 
165  bool report(const std::string& result) ;
166 
167 
168  protected:
171 
174 
176  std::map<std::string, PositionVector> &myGeoms;
177 
180 
181 
182  private:
184  EdgesHandler(const EdgesHandler&);
185 
188 
189  };
190 
191 
201  public:
208  const std::string& file) ;
209 
210 
213 
214 
224  bool report(const std::string& result) ;
225 
226 
227  protected:
230 
233 
234 
235  private:
238 
241 
242  };
243 
244 };
245 
246 
247 #endif
248 
249 /****************************************************************************/
250