summaryrefslogtreecommitdiff
path: root/src/mbgl/text/collision_index.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/text/collision_index.hpp')
-rw-r--r--src/mbgl/text/collision_index.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mbgl/text/collision_index.hpp b/src/mbgl/text/collision_index.hpp
index 78782fe61c..dac0aa0bf7 100644
--- a/src/mbgl/text/collision_index.hpp
+++ b/src/mbgl/text/collision_index.hpp
@@ -32,9 +32,10 @@ public:
const bool allowOverlap,
const bool pitchWithMap,
const bool collisionDebug,
- const optional<CollisionTileBoundaries>& avoidEdges);
+ const optional<CollisionTileBoundaries>& avoidEdges,
+ const optional<std::function<bool(const IndexedSubfeature&)>> collisionGroupPredicate);
- void insertFeature(CollisionFeature& feature, bool ignorePlacement, uint32_t bucketInstanceId);
+ void insertFeature(CollisionFeature& feature, bool ignorePlacement, uint32_t bucketInstanceId, uint16_t collisionGroupId);
std::unordered_map<uint32_t, std::vector<IndexedSubfeature>> queryRenderedSymbols(const ScreenLineString&) const;
@@ -55,7 +56,8 @@ private:
const bool allowOverlap,
const bool pitchWithMap,
const bool collisionDebug,
- const optional<CollisionTileBoundaries>& avoidEdges);
+ const optional<CollisionTileBoundaries>& avoidEdges,
+ const optional<std::function<bool(const IndexedSubfeature&)>> collisionGroupPredicate);
float approximateTileDistance(const TileDistance& tileDistance, const float lastSegmentAngle, const float pixelsToTileUnits, const float cameraToAnchorDistance, const bool pitchWithMap);