diff options
author | vng <viktor.govako@gmail.com> | 2011-10-08 02:43:07 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:25:36 +0300 |
commit | d6106655deece2c1652cbb2cf3d3879f83cd0f59 (patch) | |
tree | 726abe8002639cb76a0cef9d6efd0069b39857ad /generator/feature_generator.cpp | |
parent | 263c791e63d8c4f765c4b59943032c7ced44a003 (diff) |
Split coast cells by 4 with many polygon points.
Diffstat (limited to 'generator/feature_generator.cpp')
-rw-r--r-- | generator/feature_generator.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index 95e89d19cd..3517929a74 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -295,7 +295,7 @@ public: else { // 6 - is cell level for oceans covering - m_coasts.reset(new CoastlineFeaturesGenerator(m_coastType, 6)); + m_coasts.reset(new CoastlineFeaturesGenerator(m_coastType, 4, 10, 20000)); m_coastsHolder.reset(new FeaturesCollector(m_srcCoastsFile)); } @@ -338,13 +338,16 @@ public: { m_coasts->Finish(); - size_t const count = m_coasts->GetFeaturesCount(); + size_t const count = m_coasts->GetCellsCount(); LOG(LINFO, ("Generating coastline polygons", count)); + for (size_t i = 0; i < count; ++i) { - FeatureBuilder1 fb; - if (m_coasts->GetFeature(i, fb)) - (*m_coastsHolder)(fb); + vector<FeatureBuilder1> vecFb; + m_coasts->GetFeatures(i, vecFb); + + for (size_t j = 0; j < vecFb.size(); ++j) + (*m_coastsHolder)(vecFb[j]); } } else if (m_coastsHolder) |