diff --git a/indexer/feature_altitude.hpp b/indexer/feature_altitude.hpp index 345cb26929..2c4c6c140b 100644 --- a/indexer/feature_altitude.hpp +++ b/indexer/feature_altitude.hpp @@ -46,7 +46,9 @@ struct AltitudeHeader { return m_featureTableOffset - sizeof(AltitudeHeader); } + size_t GetFeatureTableSize() const { return m_altitudesOffset - m_featureTableOffset; } + size_t GetAltitudeInfo() const { return m_endOffset - m_altitudesOffset; } void Reset() { @@ -70,7 +72,9 @@ class Altitudes { public: Altitudes() = default; + explicit Altitudes(TAltitudes const & altitudes) : m_altitudes(altitudes) {} + template void Serialize(TAltitude minAltitude, TSink & sink) const { @@ -78,8 +82,10 @@ public: WriteVarInt(sink, static_cast(m_altitudes[0]) - static_cast(minAltitude)); for (size_t i = 1; i < m_altitudes.size(); ++i) + { WriteVarInt(sink, static_cast(m_altitudes[i]) - static_cast(m_altitudes[i - 1])); + } } template diff --git a/routing/features_road_graph.hpp b/routing/features_road_graph.hpp index 89091101dc..d160f941e4 100644 --- a/routing/features_road_graph.hpp +++ b/routing/features_road_graph.hpp @@ -85,7 +85,9 @@ private: explicit Value(MwmSet::MwmHandle && handle); bool IsAlive() const { return m_mwmHandle.IsAlive(); } + bool HasAltitudeLoader() const { return m_altitudeLoader && m_altitudeLoader->HasAltitudes(); } + MwmSet::MwmHandle m_mwmHandle; unique_ptr m_altitudeLoader; };