2016-02-24 04:29:23 -05:00
|
|
|
#ifndef ENGINE_GUIDANCE_POST_PROCESSING_HPP
|
|
|
|
#define ENGINE_GUIDANCE_POST_PROCESSING_HPP
|
|
|
|
|
2016-03-21 13:07:28 -04:00
|
|
|
#include "engine/guidance/route_step.hpp"
|
2016-03-23 05:41:28 -04:00
|
|
|
#include "engine/guidance/leg_geometry.hpp"
|
2016-02-24 04:29:23 -05:00
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace engine
|
|
|
|
{
|
|
|
|
namespace guidance
|
|
|
|
{
|
|
|
|
|
2016-03-23 05:41:28 -04:00
|
|
|
// passed as none-reference to modify in-place and move out again
|
2016-03-21 13:07:28 -04:00
|
|
|
std::vector<RouteStep> postProcess(std::vector<RouteStep> steps);
|
2016-02-24 04:29:23 -05:00
|
|
|
|
2016-03-23 05:41:28 -04:00
|
|
|
// postProcess will break the connection between the leg geometry
|
|
|
|
// for which a segment is supposed to represent exactly the coordinates
|
|
|
|
// between routing maneuvers and the route steps itself.
|
|
|
|
// If required, we can get both in sync again using this function.
|
|
|
|
// Move in LegGeometry for modification in place.
|
|
|
|
LegGeometry resyncGeometry(LegGeometry leg_geometry, const std::vector<RouteStep> &steps);
|
|
|
|
|
2016-02-24 04:29:23 -05:00
|
|
|
} // namespace guidance
|
|
|
|
} // namespace engine
|
|
|
|
} // namespace osrm
|
|
|
|
|
|
|
|
#endif // ENGINE_GUIDANCE_POST_PROCESSING_HPP
|