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;
165 throw ProcessError(
"Could not insert node though checked this before (id='" +
myID +
"').");
171 for (std::set<NBTrafficLightDefinition*>::iterator i = tls.begin(); i != tls.end(); ++i) {
172 if ((*i)->getNodes().size() == 0) {
234 std::set<NBTrafficLightDefinition*> tlDefs;
243 WRITE_ERROR(
"Unknown traffic light type '" + typeS +
"' for node '" +
myID +
"'.");
249 std::map<std::string, NBTrafficLightDefinition*>::const_iterator it;
250 for (it = programs.begin(); it != programs.end(); it++) {
251 if (it->second->getType() != type) {
252 WRITE_ERROR(
"Mismatched traffic light type '" + typeS +
"' for tl '" + tlID +
"'.");
255 tlDefs.insert(it->second);
256 it->second->addNode(currentNode);
261 tlID = (tlID ==
"" ?
myID : tlID);
268 tlDefs.insert(tlDef);
271 std::vector<std::string> controlledInner;
273 if (controlledInner.size() != 0) {
274 for (std::set<NBTrafficLightDefinition*>::iterator it = tlDefs.begin(); it != tlDefs.end(); it++) {
275 (*it)->addControlledInnerEdges(controlledInner);