diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-08-12 12:19:45 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-08-24 13:06:23 -0700 |
commit | d26559bb28b0b1803730cc52c92a0747ddc172e7 (patch) | |
tree | e0e6a1e717ccb36a0318541ead84fdebf4dad878 /src/mbgl/tile/geometry_tile.cpp | |
parent | e706ed4b2ee8d73e17146b33b2c91463b7186777 (diff) | |
download | qtlocation-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.cpp | 11 |
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( |