forked from mapsme/omim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcar_model.hpp
42 lines (31 loc) · 1.04 KB
/
car_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
39
40
41
42
#pragma once
#include "routing_common/vehicle_model.hpp"
#include <vector>
namespace routing
{
class CarModel : public VehicleModel
{
public:
CarModel();
CarModel(VehicleModel::LimitsInitList const & roadLimits, HighwayBasedInfo const & info);
// VehicleModelInterface overrides:
SpeedKMpH const & GetOffroadSpeed() const override;
static CarModel const & AllLimitsInstance();
static LimitsInitList const & GetOptions();
static std::vector<AdditionalRoadTags> const & GetAdditionalTags();
static VehicleModel::SurfaceInitList const & GetSurfaces();
uint32_t GetNoCarTypeForTesting() const { return m_noCarType; }
uint32_t GetYesCarTypeForTesting() const { return m_yesCarType; }
protected:
RoadAvailability GetRoadAvailability(feature::TypesHolder const & types) const override;
private:
void Init();
uint32_t m_noCarType = 0;
uint32_t m_yesCarType = 0;
};
class CarModelFactory : public VehicleModelFactory
{
public:
CarModelFactory(CountryParentNameGetterFn const & countryParentNameGetterF);
};
} // namespace routing