diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-20 16:31:50 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-12-21 08:45:08 -0800 |
commit | f6985cf6ffe0557d4b8a9360ef351d1668c8974c (patch) | |
tree | de923320280f8c1f2957db94820ce298630b412a /src/mbgl/tile | |
parent | 77db372123920ca6c3233c0b2c7393703db66635 (diff) | |
download | qtlocation-mapboxgl-f6985cf6ffe0557d4b8a9360ef351d1668c8974c.tar.gz |
[core] Convert BucketParameters#layer to a separate parameter
This parameter varies between Buckets, while the others are constant. It makes more sense as an individual parameter.
Diffstat (limited to 'src/mbgl/tile')
-rw-r--r-- | src/mbgl/tile/geometry_tile_worker.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index 738c78572d..e6aaf05d1a 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -210,6 +210,13 @@ void GeometryTileWorker::redoLayout() { std::unordered_map<std::string, std::unique_ptr<Bucket>> buckets; auto featureIndex = std::make_unique<FeatureIndex>(); + BucketParameters parameters(id, + obsolete, + reinterpret_cast<uintptr_t>(this), + glyphAtlas, + *featureIndex, + mode); + for (auto i = layers->rbegin(); i != layers->rend(); i++) { if (obsolete) { return; @@ -235,18 +242,10 @@ void GeometryTileWorker::redoLayout() { continue; } - BucketParameters parameters(id, - *geometryLayer, - obsolete, - reinterpret_cast<uintptr_t>(this), - glyphAtlas, - *featureIndex, - mode); - if (layer->is<SymbolLayer>()) { - symbolLayouts.push_back(layer->as<SymbolLayer>()->impl->createLayout(parameters)); + symbolLayouts.push_back(layer->as<SymbolLayer>()->impl->createLayout(parameters, *geometryLayer)); } else { - std::unique_ptr<Bucket> bucket = layer->baseImpl->createBucket(parameters); + std::unique_ptr<Bucket> bucket = layer->baseImpl->createBucket(parameters, *geometryLayer); if (bucket->hasData()) { buckets.emplace(layer->baseImpl->bucketName(), std::move(bucket)); } |