bool NIVissimSingleTypeParser_Signalgruppendefinition::parse(std::istream& from) { // int id; from >> id; // type-checking is missing! // std::string tag; tag = myRead(from); std::string name; if (tag == "name") { name = readName(from); tag = myRead(from); } // int lsaid; from >> lsaid; NIVissimTL* tl = NIVissimTL::dictionary(lsaid); if (tl == 0) { WRITE_ERROR("A traffic light group with an unknown traffic light occured.\n Group-ID: " + toString<int>(id) + "\n TrafficLight-ID: " + toString<int>(lsaid)); return false; } std::string type = tl->getType(); if (type == "festzeit") { return parseFixedTime(id, name, lsaid, from); } if (type == "festzeit_fake") { return parseFixedTime(id, name, lsaid, from); // return parseExternFixedTime(id, name, lsaid, from); } if (type == "vas") { return parseVAS(id, name, lsaid, from); } if (type == "vsplus") { return parseVSPLUS(id, name, lsaid, from); } if (type == "trends") { return parseTRENDS(id, name, lsaid, from); } if (type == "vap") { return parseVAP(id, name, lsaid, from); } if (type == "tl") { return parseTL(id, name, lsaid, from); } if (type == "pos") { return parsePOS(id, name, lsaid, from); } WRITE_WARNING("Unsupported LSA-Type '" + type + "' occured."); return true; }
bool NIVissimSingleTypeParser_Lichtsignalanlagendefinition::parse(std::istream& from) { // int id; from >> id; // std::string tag, name; tag = myRead(from); if (tag == "name") { name = readName(from); tag = myRead(from); } // type std::string type; type = myRead(from); if (type == "festzeit") { return parseFixedTime(id, name, from); } if (type == "vas") { return parseVAS(id, name, from); } if (type == "vsplus") { return parseRestActuated(id, name, from, type); } if (type == "trends") { return parseRestActuated(id, name, from, type); } if (type == "vap") { return parseRestActuated(id, name, from, type); } if (type == "tl") { return parseRestActuated(id, name, from, type); } if (type == "pos") { return parseRestActuated(id, name, from, type); } if (type == "nema") { return parseRestActuated(id, name, from, type); } if (type == "extern") { return parseRestActuated(id, name, from, type); } WRITE_ERROR("Unsupported LSA-Type '" + type + "' occured."); return false; }