47 #ifdef CHECK_MEMORY_LEAKS
49 #endif // CHECK_MEMORY_LEAKS
57 const std::vector<const ROEdge*> &edges,
59 :
RORouteDef(id, color), myEdges(edges), myTryRepair(tryRepair) {
70 const std::vector<const ROEdge*> &oldEdges =
myEdges;
71 if (oldEdges.size() == 0) {
73 m->
inform(
"Could not repair empty route of vehicle '" + veh.
getID() +
"'.");
77 std::vector<const ROEdge*> newEdges;
78 newEdges.push_back(*(oldEdges.begin()));
79 for (std::vector<const ROEdge*>::const_iterator i = oldEdges.begin() + 1; i != oldEdges.end(); ++i) {
80 if ((*(i - 1))->isConnectedTo(*i)) {
81 newEdges.push_back(*i);
83 std::vector<const ROEdge*> edges;
84 router.
compute(*(i - 1), *i, &veh, begin, edges);
85 if (edges.size() == 0) {
88 std::copy(edges.begin() + 1, edges.end(), back_inserter(newEdges));
122 bool asAlternatives,
bool withExitTimes)
const {
124 if (asAlternatives) {
129 if (asAlternatives) {
138 std::string exitTimes;
140 for (std::vector<const ROEdge*>::const_iterator i =
myEdges.begin(); i !=
myEdges.end(); ++i) {
144 time += (*i)->getTravelTime(veh, time);
151 if (asAlternatives) {