PCNetProjectionLoader.h
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PCNetProjectionLoader_h
00020 #define PCNetProjectionLoader_h
00021
00022
00023
00024
00025
00026 #ifdef _MSC_VER
00027 #include <windows_config.h>
00028 #else
00029 #include <config.h>
00030 #endif
00031
00032 #include <string>
00033 #include <utils/xml/SUMOSAXHandler.h>
00034 #include <utils/common/UtilExceptions.h>
00035 #include <utils/geom/Position2D.h>
00036
00037
00038
00039
00040
00041 class OptionsCont;
00042
00043
00044
00045
00046
00051 class PCNetProjectionLoader : public SUMOSAXHandler {
00052 public:
00066 static void loadIfSet(OptionsCont &oc, Position2D &netOffset, Boundary &origNetBoundary,
00067 Boundary &convNetBoundary, std::string &projParameter) throw(ProcessError);
00068
00069
00070 protected:
00077 PCNetProjectionLoader(Position2D &netOffset,
00078 Boundary &origNetBoundary, Boundary &convNetBoundary, std::string &projParameter) throw();
00079
00080
00082 ~PCNetProjectionLoader() throw();
00083
00084
00088 bool hasReadAll() const throw();
00089
00090
00091 protected:
00093
00094
00102 virtual void myStartElement(SumoXMLTag element,
00103 const SUMOSAXAttributes &attrs) throw(ProcessError);
00104
00105
00113 void myCharacters(SumoXMLTag element,
00114 const std::string &chars) throw(ProcessError);
00116
00117
00118 private:
00120 Position2D &myNetOffset;
00121
00123 Boundary &myOrigNetBoundary;
00124
00126 Boundary &myConvNetBoundary;
00127
00129 std::string &myProjParameter;
00130
00132 bool myFoundOffset, myFoundOrigNetBoundary, myFoundConvNetBoundary, myFoundProj;
00133
00134
00135 };
00136
00137
00138 #endif
00139
00140
00141