37 #ifdef CHECK_MEMORY_LEAKS
39 #endif // CHECK_MEMORY_LEAKS
53 startPosM(startPos), haltingTimeThresholdM(haltingTimeThreshold),
54 haltingSpeedThresholdM(haltingSpeedThreshold), jamDistThresholdM(jamDistThreshold),
55 myID(id), myStartLaneID(lane->getID()), myUsage(usage) {}
66 if (length > dlength) {
89 LengthVector::iterator leni =
myLengths.begin();
92 for (; leni !=
myLengths.end(); leni++, lanei++, deti++) {
93 if ((*leni) < length) {
99 assert(lv.size() > 0);
100 assert(dv.size() > 0);
107 MSLane* toExtend = lv.back();
110 if (predeccessors.size() == 0) {
113 const std::vector<MSLane*> &lanes = e.
getLanes();
114 int idx = (
int) distance(lanes.begin(), find(lanes.begin(), lanes.end(), toExtend));
115 while (predeccessors.size() == 0) {
116 if (idx - off >= 0) {
117 MSLane* tryMe = lanes[idx - off];
120 if (predeccessors.size() == 0 && idx + off < (
int) lanes.size()) {
121 MSLane* tryMe = lanes[idx + off];
134 for (std::vector<MSLane*>::const_iterator i = predeccessors.begin(); i != predeccessors.end(); i++) {
138 SUMOReal lanelen = length - clength;
172 std::vector<MSLane*> ret;
174 std::vector<MSEdge*>::const_iterator i = predEdges.begin();
175 for (; i != predEdges.end(); ++i) {
180 bool fastAbort =
false;
182 for (LaneVector::const_iterator j = cl->begin(); !fastAbort && j != cl->end(); j++) {
184 for (MSLinkCont::const_iterator k = lc.begin(); !fastAbort && k != lc.end(); k++) {
185 if ((*k)->getLane() == l) {
238 size_t ,
size_t )
const {
253 std::string ret = baseID + add + toString<size_t>(
bla++);