diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-06-21 11:46:32 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-07-23 10:25:09 +0300 |
commit | de84454400b0c35f8556957e4945cd7f68b6c8e6 (patch) | |
tree | f88a7acfac7344e79719ebb2091820dd697833a8 /indexer/feature.hpp | |
parent | eead0e66ec4f397ecb67aedc8bf252c370efff31 (diff) |
[altitude] The first version of writing to mwm and reading from altitude information.
Diffstat (limited to 'indexer/feature.hpp')
-rw-r--r-- | indexer/feature.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/indexer/feature.hpp b/indexer/feature.hpp index 1913cd3465..108857dba1 100644 --- a/indexer/feature.hpp +++ b/indexer/feature.hpp @@ -1,5 +1,6 @@ #pragma once #include "indexer/cell_id.hpp" +#include "indexer/feature_altitude.hpp" #include "indexer/feature_data.hpp" #include "geometry/point2d.hpp" @@ -201,6 +202,7 @@ public: uint32_t ParseTriangles(int scale) const; void ParseMetadata() const; + void ParseAltitude() const; //@} /// @name Geometry. @@ -243,6 +245,12 @@ public: return m_points[i]; } + inline feature::Altitudes const & GetAltitudes() const + { + ASSERT(m_altitudeParsed, ()); + return m_altitudes; + } + template <typename TFunctor> void ForEachTriangle(TFunctor && f, int scale) const { @@ -361,10 +369,15 @@ private: mutable points_t m_points, m_triangles; mutable feature::Metadata m_metadata; + // @TODO |m_altitudes| should be exchanged with vector<TAltitude>. + // If the vector is empty no altitude information is available for this feature. + mutable feature::Altitudes m_altitudes; + mutable bool m_header2Parsed = false; mutable bool m_pointsParsed = false; mutable bool m_trianglesParsed = false; mutable bool m_metadataParsed = false; + mutable bool m_altitudeParsed = false; mutable inner_geom_stat_t m_innerStats; |