summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.cpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-08-12 12:19:45 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-08-24 13:06:23 -0700
commitd26559bb28b0b1803730cc52c92a0747ddc172e7 (patch)
treee0e6a1e717ccb36a0318541ead84fdebf4dad878 /src/mbgl/tile/geometry_tile.cpp
parente706ed4b2ee8d73e17146b33b2c91463b7186777 (diff)
downloadqtlocation-mapboxgl-d26559bb28b0b1803730cc52c92a0747ddc172e7.tar.gz
[core] Avoid GeometryTile dependency in FeatureIndex
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r--src/mbgl/tile/geometry_tile.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp
index 0d01eba894..0e3c4c0476 100644
--- a/src/mbgl/tile/geometry_tile.cpp
+++ b/src/mbgl/tile/geometry_tile.cpp
@@ -219,6 +219,15 @@ void GeometryTile::queryRenderedFeatures(
if (!featureIndex || !data) return;
+ // Determine the additional radius needed factoring in property functions
+ float additionalRadius = 0;
+ for (const RenderLayer* layer : layers) {
+ auto bucket = getBucket(*layer->baseImpl);
+ if (bucket) {
+ additionalRadius = std::max(additionalRadius, bucket->getQueryRadius(*layer));
+ }
+ }
+
featureIndex->query(result,
queryGeometry,
transformState.getAngle(),
@@ -229,7 +238,7 @@ void GeometryTile::queryRenderedFeatures(
id.canonical,
layers,
collisionTile.get(),
- *this);
+ additionalRadius);
}
void GeometryTile::querySourceFeatures(