36 #include <xercesc/sax/HandlerBase.hpp>
37 #include <xercesc/sax/AttributeList.hpp>
38 #include <xercesc/sax/SAXParseException.hpp>
39 #include <xercesc/sax/SAXException.hpp>
55 #ifdef CHECK_MEMORY_LEAKS
57 #endif // CHECK_MEMORY_LEAKS
116 bool needConversion =
true;
120 needConversion =
false;
125 needConversion =
true;
130 needConversion =
true;
161 throw ProcessError(
"Could not insert node though checked this before (id='" +
myID +
"').");
167 for (std::set<NBTrafficLightDefinition*>::iterator i = tls.begin(); i != tls.end(); ++i) {
168 if ((*i)->getNodes().size() == 0) {
230 std::set<NBTrafficLightDefinition*> tlDefs;
239 WRITE_ERROR(
"Unknown traffic light type '" + typeS +
"' for node '" +
myID +
"'.");
245 std::map<std::string, NBTrafficLightDefinition*>::const_iterator it;
246 for (it = programs.begin(); it != programs.end(); it++) {
247 if (it->second->getType() != type) {
248 WRITE_ERROR(
"Mismatched traffic light type '" + typeS +
"' for tl '" + tlID +
"'.");
251 tlDefs.insert(it->second);
252 it->second->addNode(currentNode);
257 tlID = (tlID ==
"" ?
myID : tlID);
264 tlDefs.insert(tlDef);
267 std::vector<std::string> controlledInner;
269 if (controlledInner.size() != 0) {
270 for (std::set<NBTrafficLightDefinition*>::iterator it = tlDefs.begin(); it != tlDefs.end(); it++) {
271 (*it)->addControlledInnerEdges(controlledInner);