summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnsis Brammanis <ansis@mapbox.com>2019-11-01 12:53:11 -0400
committerAnsis Brammanis <ansis@mapbox.com>2019-12-06 17:11:52 -0500
commit08c2da082171843a0d25393d2896348925ad3238 (patch)
tree5046eee3e2f43dd32d9464ae287ec4a0a0e57492
parenta7593b007ca7f8fdfcc0fc7c489f4d319b724595 (diff)
downloadqtlocation-mapboxgl-08c2da082171843a0d25393d2896348925ad3238.tar.gz
format
-rw-r--r--src/mbgl/text/collision_index.cpp31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/mbgl/text/collision_index.cpp b/src/mbgl/text/collision_index.cpp
index 30502ff7c0..fd28488178 100644
--- a/src/mbgl/text/collision_index.cpp
+++ b/src/mbgl/text/collision_index.cpp
@@ -27,18 +27,25 @@ static const float viewportPaddingDefault = 100;
static const float viewportPaddingForStaticTiles = 1024;
CollisionIndex::CollisionIndex(const TransformState& transformState_, const MapMode& mapMode)
- : transformState(transformState_)
- , viewportPadding(mapMode == MapMode::Tile ? viewportPaddingForStaticTiles : viewportPaddingDefault)
- , collisionGrid(transformState.getSize().width + 2 * viewportPadding, transformState.getSize().height + 2 * viewportPadding, 25)
- , ignoredGrid(transformState.getSize().width + 2 * viewportPadding, transformState.getSize().height + 2 * viewportPadding, 25)
- , screenRightBoundary(transformState.getSize().width + viewportPadding)
- , screenBottomBoundary(transformState.getSize().height + viewportPadding)
- , gridRightBoundary(transformState.getSize().width + 2 * viewportPadding)
- , gridBottomBoundary(transformState.getSize().height + 2 * viewportPadding)
- , pitchFactor(std::cos(transformState.getPitch()) * transformState.getCameraToCenterDistance())
-{}
-
-float CollisionIndex::approximateTileDistance(const TileDistance& tileDistance, const float lastSegmentAngle, const float pixelsToTileUnits, const float cameraToAnchorDistance, const bool pitchWithMap) {
+ : transformState(transformState_),
+ viewportPadding(mapMode == MapMode::Tile ? viewportPaddingForStaticTiles : viewportPaddingDefault),
+ collisionGrid(transformState.getSize().width + 2 * viewportPadding,
+ transformState.getSize().height + 2 * viewportPadding,
+ 25),
+ ignoredGrid(transformState.getSize().width + 2 * viewportPadding,
+ transformState.getSize().height + 2 * viewportPadding,
+ 25),
+ screenRightBoundary(transformState.getSize().width + viewportPadding),
+ screenBottomBoundary(transformState.getSize().height + viewportPadding),
+ gridRightBoundary(transformState.getSize().width + 2 * viewportPadding),
+ gridBottomBoundary(transformState.getSize().height + 2 * viewportPadding),
+ pitchFactor(std::cos(transformState.getPitch()) * transformState.getCameraToCenterDistance()) {}
+
+float CollisionIndex::approximateTileDistance(const TileDistance& tileDistance,
+ const float lastSegmentAngle,
+ const float pixelsToTileUnits,
+ const float cameraToAnchorDistance,
+ const bool pitchWithMap) {
// This is a quick and dirty solution for chosing which collision circles to use (since collision circles are
// laid out in tile units). Ideally, I think we should generate collision circles on the fly in viewport coordinates
// at the time we do collision detection.