MCPcopy Create free account
hub / github.com/comaps/comaps / CalculateZoomByMaxSpeed

Function CalculateZoomByMaxSpeed

libs/drape_frontend/my_position_controller.cpp:66–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66double CalculateZoomByMaxSpeed(double speedMpS, bool isPerspectiveAllowed)
67{
68 using TSpeedScale = std::pair<double, double>;
69 static std::array<TSpeedScale, 2> const scales2d = {{
70 {0.0, 1.75}, {77.0, 4.50} // 48 mph
71 }};
72 static std::array<TSpeedScale, 2> const scales3d = {{{0.0, 1.00}, {77.0, 4.50}}};
73
74 std::array<TSpeedScale, 2> const & scales = isPerspectiveAllowed ? scales3d : scales2d;
75
76 double constexpr kDefaultSpeedLimitKmpH = 50.0;
77 double const speedKmpH = speedMpS > 0 ? measurement_utils::MpsToKmph(speedMpS) : kDefaultSpeedLimitKmpH;
78
79 size_t i = 0;
80 for (size_t sz = scales.size(); i < sz; ++i)
81 if (scales[i].first >= speedKmpH)
82 break;
83
84 double const vs = GetVisualScale();
85
86 if (i == 0)
87 return scales.front().second / vs;
88
89 return scales[i - 1].second / vs;
90}
91
92double CalculateZoomByDistanceToTurn(double distance, bool isPerspectiveAllowed)
93{

Callers 1

CalculateAutoZoomFunction · 0.85

Calls 4

MpsToKmphFunction · 0.85
GetVisualScaleFunction · 0.85
frontMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected