[routing] mwms tree4d for cross mwm router

This commit is contained in:
Добрый Ээх 2017-04-05 16:50:57 +03:00 committed by Vladimir Byko-Ianko
parent b31135eb23
commit 2f990077e9

View file

@ -80,6 +80,7 @@
#include "geometry/any_rect2d.hpp"
#include "geometry/distance_on_sphere.hpp"
#include "geometry/rect2d.hpp"
#include "geometry/tree4d.hpp"
#include "geometry/triangle2d.hpp"
#include "partners_api/opentable_api.hpp"
@ -204,6 +205,19 @@ string MakeSearchBookingUrl(Index const & index, booking::Api const & bookingApi
return bookingApi.GetSearchUrl(city, GetStreet(coder, ft), hotelName, localizedType);
}
unique_ptr<m4::Tree<NumMwmId>> MakeNumMwmTree(NumMwmIds const & numMwmIds,
CountryInfoGetter const & countryInfoGetter)
{
auto tree = make_unique<m4::Tree<NumMwmId>>();
numMwmIds.ForEachId([&](NumMwmId numMwmId) {
auto const & countryName = numMwmIds.GetFile(numMwmId).GetName();
tree->Add(numMwmId, countryInfoGetter.GetLimitRectForLeaf(countryName));
});
return tree;
}
} // namespace
pair<MwmSet::MwmId, MwmSet::RegResult> Framework::RegisterMap(
@ -2613,6 +2627,9 @@ void Framework::SetRouterImpl(RouterType type)
m_storage.ForEachCountryFile(
[&](platform::CountryFile const & file) { numMwmIds->RegisterFile(file); });
// TODO: pass numMwmTree to router.
// auto numMwmTree = MakeNumMwmTree(*numMwmIds, *m_infoGetter);
router.reset(
new CarRouter(m_model.GetIndex(), countryFileGetter,
IndexRouter::CreateCarRouter(countryFileGetter, numMwmIds, m_routingSession, m_model.GetIndex())));