51 #ifdef CHECK_MEMORY_LEAKS
53 #endif // CHECK_MEMORY_LEAKS
69 const std::string& name,
74 : myID(id), myNode(-1), myName(name), myEdge(edge), myDisturbance(by),
75 myTimeGap(timegap), myWayGap(waygap), myVMax(vmax) {}
84 const std::string& name,
101 DictType::iterator i =
myDict.find(
id);
112 DictType::iterator i =
myDict.find(
id);
121 std::vector<int> ret;
122 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
123 if ((*i).second->crosses(poly)) {
124 ret.push_back((*i).second->myID);
155 if (pc == 0 && bc == 0) {
162 WRITE_WARNING(
"Ugly split to prohibit '" + toString<int>(e1->
getID()) +
"' by '" + toString<int>(e2->getID()) +
"'.");
164 std::string id1 = toString<int>(e1->
getID()) +
"x" + toString<int>(e2->getID());
165 std::string id2 = toString<int>(e2->getID()) +
"x" + toString<int>(e1->
getID());
169 assert(node1 == 0 || node2 == 0);
170 if (node1 == 0 && node2 == 0) {
179 node = node1 == 0 ? node2 : node1;
187 NBEdge* mustStopFrom = ec.
retrieve(toString<int>(e2->getID()) +
"[0]");
188 NBEdge* mustStopTo = ec.
retrieve(toString<int>(e2->getID()) +
"[1]");
189 if (mayDriveFrom != 0 && mayDriveTo != 0 && mustStopFrom != 0 && mustStopTo != 0) {
199 }
else if (pc != 0 && bc == 0) {
219 std::string id_pcie = toString<int>(pc->
getToEdgeID());
228 for (EdgeVector::const_iterator i = connected.begin(); i != connected.end(); i++) {
234 WRITE_WARNING(
"Would have to split edge '" + e->
getID() +
"' to build a prohibition");
253 }
else if (bc != 0 && pc == 0) {
264 std::string nid1 = e->
getID() +
"[0]";
265 std::string nid2 = e->
getID() +
"[1]";
273 std::string id_bcoe = toString<int>(bc->getFromEdgeID());
274 std::string id_bcie = toString<int>(bc->getToEdgeID());
283 for (EdgeVector::const_iterator i = connected.begin(); i != connected.end(); i++) {
289 WRITE_WARNING(
"Would have to split edge '" + e->
getID() +
"' to build a prohibition");
311 if (!conn1.
check(ec) || !conn2.check(ec)) {
343 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
352 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {