38 #ifdef CHECK_MEMORY_LEAKS
40 #endif // CHECK_MEMORY_LEAKS
54 startPosM(startPos), haltingTimeThresholdM(haltingTimeThreshold),
55 haltingSpeedThresholdM(haltingSpeedThreshold), jamDistThresholdM(jamDistThreshold),
56 myStartLaneID(lane->getID()), myUsage(usage) {}
67 if (length > dlength) {
90 LengthVector::iterator leni =
myLengths.begin();
93 for (; leni !=
myLengths.end(); leni++, lanei++, deti++) {
94 if ((*leni) < length) {
100 assert(lv.size() > 0);
101 assert(dv.size() > 0);
108 MSLane* toExtend = lv.back();
111 if (predeccessors.size() == 0) {
114 const std::vector<MSLane*>& lanes = e.
getLanes();
115 int idx = (
int) distance(lanes.begin(), find(lanes.begin(), lanes.end(), toExtend));
116 while (predeccessors.size() == 0) {
117 if (idx - off >= 0) {
118 MSLane* tryMe = lanes[idx - off];
121 if (predeccessors.size() == 0 && idx + off < (
int) lanes.size()) {
122 MSLane* tryMe = lanes[idx + off];
135 for (std::vector<MSLane*>::const_iterator i = predeccessors.begin(); i != predeccessors.end(); i++) {
139 SUMOReal lanelen = length - clength;
173 std::vector<MSLane*> ret;
175 std::vector<MSEdge*>::const_iterator i = predEdges.begin();
176 for (; i != predEdges.end(); ++i) {
181 bool fastAbort =
false;
183 for (LaneVector::const_iterator j = cl->begin(); !fastAbort && j != cl->end(); j++) {
185 for (MSLinkCont::const_iterator k = lc.begin(); !fastAbort && k != lc.end(); k++) {
186 if ((*k)->getLane() == l) {
239 size_t ,
size_t )
const {
254 std::string ret = baseID + add + toString<size_t>(
bla++);