NIVissimSingleTypeParser_Zuflussdefinition.cpp
Go to the documentation of this file.00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifdef _MSC_VER
00025 #include <windows_config.h>
00026 #else
00027 #include <config.h>
00028 #endif
00029
00030 #include <iostream>
00031 #include <utils/common/TplConvert.h>
00032 #include "../NIImporter_Vissim.h"
00033 #include "../tempstructs/NIVissimSource.h"
00034 #include "NIVissimSingleTypeParser_Zuflussdefinition.h"
00035
00036 #ifdef CHECK_MEMORY_LEAKS
00037 #include <foreign/nvwa/debug_new.h>
00038 #endif // CHECK_MEMORY_LEAKS
00039
00040
00041
00042
00043
00044 NIVissimSingleTypeParser_Zuflussdefinition::NIVissimSingleTypeParser_Zuflussdefinition(NIImporter_Vissim &parent)
00045 : NIImporter_Vissim::VissimSingleTypeParser(parent) {}
00046
00047
00048 NIVissimSingleTypeParser_Zuflussdefinition::~NIVissimSingleTypeParser_Zuflussdefinition() {}
00049
00050
00051 bool
00052 NIVissimSingleTypeParser_Zuflussdefinition::parse(std::istream &from) {
00053 std::string id, edgeid;
00054 from >> id;
00055 std::string tag, name;
00056
00057 while (tag!="q") {
00058 tag = overrideOptionalLabel(from);
00059 if (tag=="name") {
00060 name = readName(from);
00061 } else if (tag=="strecke") {
00062 from >> edgeid;
00063 }
00064 }
00065
00066 bool exact = false;
00067 SUMOReal q;
00068 tag = myRead(from);
00069 if (tag=="exakt") {
00070 exact = true;
00071 tag = myRead(from);
00072 }
00073 q = TplConvert<char>::_2SUMOReal(tag.c_str());
00074
00075 from >> tag;
00076 int vehicle_combination;
00077 from >> vehicle_combination;
00078
00079 tag = readEndSecure(from);
00080 SUMOReal beg, end;
00081 beg = -1;
00082 end = -1;
00083 if (tag=="zeit") {
00084 from >> tag;
00085 from >> beg;
00086 from >> tag;
00087 from >> end;
00088 }
00089 return NIVissimSource::dictionary(id, name, edgeid, q, exact, vehicle_combination,
00090 beg, end);
00091 }
00092
00093
00094
00095
00096