co-maps/libs/routing_common/pedestrian_model.hpp
2025-11-22 13:58:55 +01:00

30 lines
968 B
C++

#pragma once
#include "routing_common/vehicle_model.hpp"
namespace routing
{
class PedestrianModel : public VehicleModel
{
public:
PedestrianModel();
explicit PedestrianModel(VehicleModel::LimitsInitList const & speedLimits);
PedestrianModel(VehicleModel::LimitsInitList const & limits, HighwayBasedSpeeds const & speeds);
/// VehicleModelInterface overrides:
SpeedKMpH GetSpeed(FeatureTypes const & types, SpeedParams const & speedParams) const override;
bool IsOneWay(FeatureTypes const &) const override { return false; }
SpeedKMpH const & GetOffroadSpeed() const override;
static PedestrianModel const & AllLimitsInstance();
};
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