| 470 | } |
| 471 | |
| 472 | AlgorithmForWorldGraph::Result CalculateRoute(IndexGraphStarter & starter, vector<Segment> & roadPoints, |
| 473 | double & timeSec) |
| 474 | { |
| 475 | AlgorithmForWorldGraph algorithm; |
| 476 | RoutingResult<Segment, RouteWeight> routingResult; |
| 477 | |
| 478 | AlgorithmForWorldGraph::ParamsForTests<AStarLengthChecker> params( |
| 479 | starter, starter.GetStartSegment(), starter.GetFinishSegment(), AStarLengthChecker(starter)); |
| 480 | |
| 481 | auto const resultCode = algorithm.FindPathBidirectional(params, routingResult); |
| 482 | |
| 483 | timeSec = routingResult.m_distance.GetWeight(); |
| 484 | roadPoints = routingResult.m_path; |
| 485 | return resultCode; |
| 486 | } |
| 487 | |
| 488 | void TestRouteGeometry(IndexGraphStarter & starter, AlgorithmForWorldGraph::Result expectedRouteResult, |
| 489 | vector<m2::PointD> const & expectedRouteGeom) |