SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00009 // Exporter writing networks using XML (native input) format 00010 /****************************************************************************/ 00011 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00012 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors 00013 /****************************************************************************/ 00014 // 00015 // This file is part of SUMO. 00016 // SUMO is free software: you can redistribute it and/or modify 00017 // it under the terms of the GNU General Public License as published by 00018 // the Free Software Foundation, either version 3 of the License, or 00019 // (at your option) any later version. 00020 // 00021 /****************************************************************************/ 00022 #ifndef NWWriter_XML_h 00023 #define NWWriter_XML_h 00024 00025 00026 // =========================================================================== 00027 // included modules 00028 // =========================================================================== 00029 #ifdef _MSC_VER 00030 #include <windows_config.h> 00031 #else 00032 #include <config.h> 00033 #endif 00034 00035 #include <string> 00036 #include <map> 00037 #include <utils/xml/SUMOSAXHandler.h> 00038 #include <utils/common/UtilExceptions.h> 00039 00040 00041 // =========================================================================== 00042 // class declarations 00043 // =========================================================================== 00044 class NBEdge; 00045 class NBEdgeCont; 00046 class NBNetBuilder; 00047 class NBNode; 00048 class NBNodeCont; 00049 class NBTrafficLightLogicCont; 00050 class NBTypeCont; 00051 class OptionsCont; 00052 00053 00054 // =========================================================================== 00055 // class definitions 00056 // =========================================================================== 00062 class NWWriter_XML { 00063 public: 00069 static void writeNetwork(const OptionsCont& oc, NBNetBuilder& nb); 00070 00075 static void writeJoinedJunctions(const OptionsCont& oc, NBNodeCont& nc); 00076 00077 private: 00082 static void writeNodes(const OptionsCont& oc, NBNodeCont& nc); 00083 00089 static void writeEdgesAndConnections(const OptionsCont& oc, NBNodeCont& nc, NBEdgeCont& ec); 00090 00091 00097 static void writeTrafficLights(const OptionsCont& oc, NBTrafficLightLogicCont& tc, NBEdgeCont& ec); 00098 00099 }; 00100 00101 00102 #endif 00103 00104 /****************************************************************************/ 00105