SUMO - Simulation of Urban MObility
NWWriter_XML.h
Go to the documentation of this file.
1 /****************************************************************************/
9 // Exporter writing networks using XML (native input) format
10 /****************************************************************************/
11 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
12 // Copyright (C) 2001-2017 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 NWWriter_XML_h
23 #define NWWriter_XML_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 <map>
39 
40 
41 // ===========================================================================
42 // class declarations
43 // ===========================================================================
44 class NBEdge;
45 class NBEdgeCont;
46 class NBNetBuilder;
47 class NBNode;
48 class NBNodeCont;
49 class NBPTStopCont;
51 class NBTypeCont;
52 class OptionsCont;
53 
54 
55 // ===========================================================================
56 // class definitions
57 // ===========================================================================
63 class NWWriter_XML {
64 public:
70  static void writeNetwork(const OptionsCont& oc, NBNetBuilder& nb);
71 
76  static void writeJoinedJunctions(const OptionsCont& oc, NBNodeCont& nc);
77 
82  static void writeStreetSigns(const OptionsCont& oc, NBEdgeCont& ec);
83 
84 private:
89  static void writeNodes(const OptionsCont& oc, NBNodeCont& nc);
90 
95  static void writeTypes(const OptionsCont& oc, NBTypeCont& tc);
96 
101  static void writeEdgesAndConnections(const OptionsCont& oc, NBNodeCont& nc, NBEdgeCont& ec);
102 
103 
109  static void writeTrafficLights(const OptionsCont& oc, NBTrafficLightLogicCont& tc, NBEdgeCont& ec);
110 
115  static void writePTStops(const OptionsCont& oc, NBPTStopCont& ec);
116 };
117 
118 
119 #endif
120 
121 /****************************************************************************/
122 
static void writeStreetSigns(const OptionsCont &oc, NBEdgeCont &ec)
Writes street signs as POIs to file.
A container for traffic light definitions and built programs.
Exporter writing networks using XML (native input) format.
Definition: NWWriter_XML.h:63
The representation of a single edge during network building.
Definition: NBEdge.h:71
static void writeJoinedJunctions(const OptionsCont &oc, NBNodeCont &nc)
Writes the joined-juncionts to file.
static void writeNodes(const OptionsCont &oc, NBNodeCont &nc)
Writes the nodes file.
static void writeTrafficLights(const OptionsCont &oc, NBTrafficLightLogicCont &tc, NBEdgeCont &ec)
Writes the traffic lights file.
Storage for edges, including some functionality operating on multiple edges.
Definition: NBEdgeCont.h:66
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into XML-files (nodes, edges, connections, traffic lights)
static void writeTypes(const OptionsCont &oc, NBTypeCont &tc)
Writes the types file.
static void writePTStops(const OptionsCont &oc, NBPTStopCont &ec)
Writes the pt stops file.
static void writeEdgesAndConnections(const OptionsCont &oc, NBNodeCont &nc, NBEdgeCont &ec)
Writes the edges and connections files.
Instance responsible for building networks.
Definition: NBNetBuilder.h:114
A storage for options typed value containers)
Definition: OptionsCont.h:99
Represents a single node (junction) during network building.
Definition: NBNode.h:75
Container for nodes during the netbuilding process.
Definition: NBNodeCont.h:63
A storage for available types of edges.
Definition: NBTypeCont.h:62