| 353 | } |
| 354 | |
| 355 | void Route::SetRouteSegments(vector<RouteSegment> && routeSegments) |
| 356 | { |
| 357 | vector<size_t> fakeSegmentIndexes; |
| 358 | m_routeSegments = std::move(routeSegments); |
| 359 | m_haveAltitudes = true; |
| 360 | for (size_t i = 0; i < m_routeSegments.size(); ++i) |
| 361 | { |
| 362 | if (m_haveAltitudes && m_routeSegments[i].GetJunction().GetAltitude() == geometry::kInvalidAltitude) |
| 363 | m_haveAltitudes = false; |
| 364 | |
| 365 | if (!m_routeSegments[i].GetSegment().IsRealSegment()) |
| 366 | fakeSegmentIndexes.push_back(i); |
| 367 | } |
| 368 | |
| 369 | m_poly.SetFakeSegmentIndexes(std::move(fakeSegmentIndexes)); |
| 370 | } |
| 371 | |
| 372 | bool Route::MoveIterator(location::GpsInfo const & info) |
| 373 | { |