forked from mapsme/omim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpedestrian_model.hpp
38 lines (29 loc) · 1.01 KB
/
pedestrian_model.hpp
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
32
33
34
35
36
37
38
#pragma once
#include "routing_common/vehicle_model.hpp"
namespace routing
{
class PedestrianModel : public VehicleModel
{
public:
PedestrianModel();
PedestrianModel(VehicleModel::LimitsInitList const & speedLimits);
/// VehicleModelInterface overrides:
SpeedKMpH GetSpeed(FeatureType & f, SpeedParams const & speedParams) const override;
bool IsOneWay(FeatureType &) const override { return false; }
SpeedKMpH const & GetOffroadSpeed() const override;
static PedestrianModel const & AllLimitsInstance();
protected:
RoadAvailability GetRoadAvailability(feature::TypesHolder const & types) const override;
private:
void Init();
uint32_t m_noFootType = 0;
uint32_t m_yesFootType = 0;
};
class PedestrianModelFactory : public VehicleModelFactory
{
public:
// TODO: remove countryParentNameGetterFn default value after removing unused pedestrian routing
// from road_graph_router
PedestrianModelFactory(CountryParentNameGetterFn const & countryParentNameGetterFn = {});
};
} // namespace routing