diff options
author | vng <viktor.govako@gmail.com> | 2011-09-05 21:49:01 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:23:07 +0300 |
commit | e568d3f0bc0468fedc9879a22a5948c170f898c9 (patch) | |
tree | 45dceb4a5cb52ac4e32e82aa01ed24fb2758d725 /generator/coastlines_generator.hpp | |
parent | d67b4a84d900bb9ec08f6d8ae8b59f5b66da4e1e (diff) |
Code for full world generation (World.mwm, WorldCoasts.mwm).
Diffstat (limited to 'generator/coastlines_generator.hpp')
-rw-r--r-- | generator/coastlines_generator.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/generator/coastlines_generator.hpp b/generator/coastlines_generator.hpp new file mode 100644 index 0000000000..1a5df28e96 --- /dev/null +++ b/generator/coastlines_generator.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include "feature_merger.hpp" + +#include "../indexer/cell_id.hpp" + +#include "../geometry/tree4d.hpp" +#include "../geometry/region2d.hpp" + + +class FeatureBuilder1; + +class CoastlineFeaturesGenerator +{ + typedef RectId CellIdT; + + FeatureMergeProcessor m_merger; + + m4::Tree<m2::RegionI> m_tree; + + uint32_t m_coastType; + int m_Level; + +public: + CoastlineFeaturesGenerator(uint32_t coastType, int level = 6); + + void AddRegionToTree(FeatureBuilder1 const & fb); + + void operator() (FeatureBuilder1 const & fb); + void Finish(); + + inline size_t GetFeaturesCount() const { return 1 << 2 * m_Level; } + bool GetFeature(size_t i, FeatureBuilder1 & fb); +}; |