diff options
Diffstat (limited to 'src/mbgl/geometry/feature_index.cpp')
-rw-r--r-- | src/mbgl/geometry/feature_index.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/mbgl/geometry/feature_index.cpp b/src/mbgl/geometry/feature_index.cpp index 6fae5fe9a1..8251e4d03a 100644 --- a/src/mbgl/geometry/feature_index.cpp +++ b/src/mbgl/geometry/feature_index.cpp @@ -1,8 +1,7 @@ #include <mbgl/geometry/feature_index.hpp> #include <mbgl/style/style.hpp> -#include <mbgl/style/layer.hpp> -#include <mbgl/style/layer_impl.hpp> -#include <mbgl/style/layers/symbol_layer.hpp> +#include <mbgl/renderer/render_layer.hpp> +#include <mbgl/renderer/render_symbol_layer.hpp> #include <mbgl/text/collision_tile.hpp> #include <mbgl/util/constants.hpp> #include <mbgl/util/math.hpp> @@ -61,7 +60,7 @@ static int16_t getAdditionalQueryRadius(const RenderedQueryOptions& queryOptions // Determine the additional radius needed factoring in property functions float additionalRadius = 0; - auto getQueryRadius = [&](const style::Layer& layer) { + auto getQueryRadius = [&](const RenderLayer& layer) { auto bucket = tile.getBucket(layer); if (bucket) { additionalRadius = std::max(additionalRadius, bucket->getQueryRadius(layer) * pixelsToTileUnits); @@ -70,13 +69,13 @@ static int16_t getAdditionalQueryRadius(const RenderedQueryOptions& queryOptions if (queryOptions.layerIDs) { for (const auto& layerID : *queryOptions.layerIDs) { - style::Layer* layer = style.getLayer(layerID); + RenderLayer* layer = style.getRenderLayer(layerID); if (layer) { getQueryRadius(*layer); } } } else { - for (const style::Layer* layer : style.getLayers()) { + for (const RenderLayer* layer : style.getRenderLayers()) { getQueryRadius(*layer); } } @@ -156,10 +155,10 @@ void FeatureIndex::addFeature( continue; } - auto styleLayer = style.getLayer(layerID); - if (!styleLayer || - (!styleLayer->is<style::SymbolLayer>() && - !styleLayer->baseImpl->queryIntersectsFeature(queryGeometry, *geometryTileFeature, tileID.z, bearing, pixelsToTileUnits))) { + auto renderLayer = style.getRenderLayer(layerID); + if (!renderLayer || + (!renderLayer->is<RenderSymbolLayer>() && + !renderLayer->queryIntersectsFeature(queryGeometry, *geometryTileFeature, tileID.z, bearing, pixelsToTileUnits))) { continue; } |