This PR improves routing results by adding support for snapping to multiple ways at input locations. This means all edges at the snapped location can act as source/target candidates for routing search, ensuring we always find the best route, and not the one dependent on the edge selected.
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
#ifndef ALTERNATIVE_PATH_ROUTING_HPP
|
|
#define ALTERNATIVE_PATH_ROUTING_HPP
|
|
|
|
#include "engine/datafacade.hpp"
|
|
#include "engine/internal_route_result.hpp"
|
|
|
|
#include "engine/algorithm.hpp"
|
|
#include "engine/search_engine_data.hpp"
|
|
|
|
#include "util/exception.hpp"
|
|
|
|
namespace osrm
|
|
{
|
|
namespace engine
|
|
{
|
|
namespace routing_algorithms
|
|
{
|
|
|
|
InternalManyRoutesResult alternativePathSearch(SearchEngineData<ch::Algorithm> &search_engine_data,
|
|
const DataFacade<ch::Algorithm> &facade,
|
|
const PhantomEndpointCandidates &endpoint_candidates,
|
|
unsigned number_of_alternatives);
|
|
|
|
InternalManyRoutesResult alternativePathSearch(SearchEngineData<mld::Algorithm> &search_engine_data,
|
|
const DataFacade<mld::Algorithm> &facade,
|
|
const PhantomEndpointCandidates &endpoint_candidates,
|
|
unsigned number_of_alternatives);
|
|
|
|
} // namespace routing_algorithms
|
|
} // namespace engine
|
|
} // namespace osrm
|
|
|
|
#endif
|