blob: 768cf094767d2ce91ab7d5b10522ba3dc3e80b5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include "routing/edge_estimator.hpp"
#include "routing/index_graph.hpp"
#include "routing/vehicle_mask.hpp"
#include "routing_common/num_mwm_id.hpp"
#include "routing_common/vehicle_model.hpp"
#include "indexer/index.hpp"
#include <memory>
namespace routing
{
class IndexGraphLoader
{
public:
virtual ~IndexGraphLoader() = default;
virtual IndexGraph & GetIndexGraph(NumMwmId mwmId) = 0;
virtual void Clear() = 0;
static std::unique_ptr<IndexGraphLoader> Create(
VehicleType vehicleType, bool loadAltitudes, std::shared_ptr<NumMwmIds> numMwmIds,
std::shared_ptr<VehicleModelFactoryInterface> vehicleModelFactory,
std::shared_ptr<EdgeEstimator> estimator, Index & index);
};
void DeserializeIndexGraph(MwmValue const & mwmValue, VehicleType vehicleType, IndexGraph & graph);
} // namespace routing
|