SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00009 // Perfoms network import 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 NILoader_h 00023 #define NILoader_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 <vector> 00037 #include <xercesc/sax2/SAX2XMLReader.hpp> 00038 00039 00040 // =========================================================================== 00041 // class declarations 00042 // =========================================================================== 00043 class OptionsCont; 00044 class SUMOSAXHandler; 00045 class NBNetBuilder; 00046 class Position; 00047 class PositionVector; 00048 class GeoConvHelper; 00049 00050 00051 // =========================================================================== 00052 // class definitions 00053 // =========================================================================== 00060 class NILoader { 00061 public: 00065 NILoader(NBNetBuilder& nb) ; 00066 00067 00069 ~NILoader() ; 00070 00071 00073 void load(OptionsCont& oc); 00074 00082 static bool transformCoordinates(Position& from, bool includeInBoundary = true, GeoConvHelper* from_srs = 0); 00083 static bool transformCoordinates(PositionVector& from, bool includeInBoundary = true, GeoConvHelper* from_srs = 0); 00084 00085 private: 00087 //void loadSUMO(OptionsCont &oc); 00088 00090 void loadXML(OptionsCont& oc); 00091 00093 void loadXMLType(SUMOSAXHandler* handler, 00094 const std::vector<std::string> &files, const std::string& type); 00095 00096 private: 00098 NBNetBuilder& myNetBuilder; 00099 00100 00101 private: 00103 NILoader(const NILoader&); 00104 00106 NILoader& operator=(const NILoader&); 00107 00108 00109 }; 00110 00111 00112 #endif 00113 00114 /****************************************************************************/ 00115