summaryrefslogtreecommitdiff
path: root/src/mbgl/text/collision_index.hpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Remove ProjectedCollisionBox from CollisionBoxMikhail Pozdnyakov2019-08-051-7/+9
| | | | | - Minus 20 bytes from CollisionBox size. - Fix constness at Placement::placeBucket
* [core] Introduce ProjectedCollisionBox typeMikhail Pozdnyakov2019-08-051-3/+3
| | | | | | ProjectedCollisionBox encapsulates geometry of the projected collision box, it is using union and thus provides memory save - 12 bytes per collision box instance.
* [core] Use fresh transform state for bucket vertices update in placementMikhail Pozdnyakov2019-06-031-0/+2
| | | | The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
* [core] Introduce variable text placement for point labels - Placement partMikhail Pozdnyakov2019-03-291-0/+1
|
* [core] Port "collision group" plumbing to gl-native.Chris Loer2018-09-121-3/+5
| | | | | [node] Hook up map-wide "crossSourceCollisions" option, defaulting to true. [test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
* [core, node] Re-implement "avoid edges" behavior for MapMode::TileChris Loer2018-08-201-2/+12
| | | | | | | - Fixes issue #12461. - Only implement "avoid edges" in MapMode::Tile since it's no longer relevant in Static or Continuous mode. - New: Force "avoid edges" to "true" for line labels, since in tile mode they'll always clip poorly at tile boundaries. - Remove unused "withinPlus0/inside" logic.
* Port global symbol query from GL JS:Chris Loer2018-04-251-3/+2
| | | | | | | - Symbol querying is now global instead of per-tile - Symbols that bleed over tile boundaries no longer missed in queries - Symbol results now sorted based on rendering order (ie overlapping symbols change their sort order when a bearing change causes their render order to change) - Placement::retainedQueryData now responsible for maintaining symbol querying data for buckets that may no longer be in the TilePyramid.
* [core] Skip fade animation for placed symbols that are currently offscreen.Chris Loer2017-11-171-4/+13
| | | | | Don't mark items that are outside the collision grid range as placed. Requires new ignore because GL JS issue #5654 allows insertion of symbols outside the CollisionIndex range, and those symbols can cascade in to affect items within the viewport.
* [core] Add global CollisionIndex to replace CollisionTile.Chris Loer2017-11-171-0/+61
- Switches from tile to viewport coordinates - Represents line labels with circle geometries - Projects line labels at collision detection time to improve accuracy - Adapts tile-based symbol queries to viewport coordinates