diff options
Diffstat (limited to 'generator/feature_merger.hpp')
-rw-r--r-- | generator/feature_merger.hpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/generator/feature_merger.hpp b/generator/feature_merger.hpp new file mode 100644 index 0000000000..103c43bad5 --- /dev/null +++ b/generator/feature_merger.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include "../indexer/feature.hpp" + +class FeatureBuilder1Merger : public FeatureBuilder1 +{ +public: + FeatureBuilder1Merger(FeatureBuilder1 const & fb); + + /// adds fb's geometry at the end of own geometry, + /// but only if they have common point + void AppendFeature(FeatureBuilder1Merger const & fb); + + void SetAreaSafe() + { + if (!m_bArea) + m_bArea = true; + } + + uint32_t KeyType() const + { + ASSERT_EQUAL ( m_Types.size(), 1, () ); + return m_Types.front(); + } + + bool ReachedMaxPointsCount() const; + + m2::PointD FirstPoint() const { return m_Geometry.front(); } + m2::PointD LastPoint() const { return m_Geometry.back(); } +}; |