Commit Graph

45 Commits

Author SHA1 Message Date
John Firebaugh
da35ef9f49 [core] Add support for $id key to filters
https://github.com/mapbox/mapbox-gl-style-spec/issues/391
2016-07-18 12:37:36 -07:00
Young Hahn
71a3b1d0db [core] geometry@0.8.0 / geojsonvt@6.0.0 (#5514)
* [core] geometry.hpp 0.8.0

* geojsonvt @ 6.0.0

* Update platform deps, build scripts

* Perf optimizations/cleanup

* Rebase in geometry@080

* D.R.Y. etc

* Ensure fill annotation geometries have closed rings.

* Optimizations

* Update to geojsonvt @ 6.1.0 for clean handoff between geojson parsing and geojsonvt

* Apply close multi/poly geoms for line annotations as well
2016-07-06 17:29:34 -04:00
Bruno de Oliveira Abinader
1d46e83e30 [core] Use the right types for zoom scale logic
32 bit integers should be enough for zoom scale logic. In shape
annotation logic, 'maxAmountOfTileFeatures' requires 64 bits because we
are multiplying the zoom scale with the extent, which might give a
number higher than std::numeric_limits<uint32_t>::max().
2016-06-28 12:00:53 +03:00
John Firebaugh
3d16cd088f [core] Protect against invalid geometries 2016-06-24 12:21:44 -07:00
John Firebaugh
5c7dfd948f [core] *Tile ↔ *TileData
Tile is now the main base class; RasterTile, VectorTile, etc are its subclasses. GeometryTileData and its subclasses form the piece that's passed to the worker.
2016-06-13 10:59:33 -07:00
John Firebaugh
c902f9098b [core] Rationalize naming for style-related code 2016-06-02 14:51:39 -07:00
John Firebaugh
1fb96d38a0 [tests] Tweak LineAnnotation test so that it reveals a bug; fix the bug 2016-06-02 14:47:35 -07:00
John Firebaugh
3689f52ef3 [core] Constrain annotation API to the supported geometry types 2016-06-01 17:37:01 -07:00
John Firebaugh
0fba70d5a8 [all] Rationalize annotation API 2016-06-01 17:37:01 -07:00
John Firebaugh
8985b1311b [core] Use geometry.hpp types for shape annotations 2016-06-01 17:36:50 -07:00
John Firebaugh
aa1a54c577 [core] Do annotation longitude wrapping together with latitude clamping 2016-06-01 17:36:50 -07:00
John Firebaugh
a475f1d813 [core] Run fixupPolygons on geojson-vt-cpp polygon output 2016-05-31 10:15:18 -07:00
Minh Nguyễn
de905ab64c [ios, osx] Holes in polygons
MGLPolygon (and by extension MGLMultiPolygon) now supports interior rings. The data is preserved in feature querying results, and interior rings are respected when adding polygon overlays to the map.

Fixes #1729.

[ios, osx] Updated changelog
2016-05-27 21:42:38 -07:00
Minh Nguyễn
8ace0d37d1 [core] AnnotationTileLayer vends its own name (#5163)
Fixes #5159.
2016-05-26 13:12:23 -07:00
John Firebaugh
1a030e7c33 [core] Normalize tile coordinates in VectorTile (#4966)
Previously, vector tile coordinates were being normalized to util::EXTENT in each place they were used, and for annotation and GeoJSON sources that don't require normalization.
2016-05-11 13:54:05 -07:00
Konstantin Käfer
ec70125e41 [core] move TileData and dependents to new *TileID classes 2016-05-10 14:50:56 +02:00
John Firebaugh
ce2a06e677 [core] Privatize math.hpp and vec.hpp 2016-05-05 11:16:57 -07:00
John Firebaugh
b2beeda50b [core] Adopt a strict naming convention for style properties
This will allow code to be generated from the style specification.
2016-04-21 14:05:40 -07:00
John Firebaugh
2df1c36ab8 [core] JoinType ⇢ LineJoinType 2016-04-21 14:05:40 -07:00
Ansis Brammanis
b6a181097c [core] fix reparsing overscaled geojson tiles
fix #3838
2016-03-30 13:57:47 -07:00
Ansis Brammanis
387f37d035 [core] increase geojson buffer size to match -js 2016-03-30 13:13:53 -07:00
Bruno de Oliveira Abinader
ac70ada2d3 [core] Check for NaNs in mbgl::util::{min,max,clamp} 2016-03-18 00:53:14 +02:00
Bruno de Oliveira Abinader
9771b0e569 [core] Use GeometryTileFeature::defaultExtent by default
GeoJSONTile and AnnotationTile don't need to reimplement getExtent() if
they use the same default value. This also helps point and shape
annotations to avoid using raw values.
2016-03-01 20:58:54 +00:00
Bruno de Oliveira Abinader
f3fc87261c [core] Coordinate is now GeometryCoordinate
Also introduced GeometryCoordinates (vector of GeometryCoordinate
items), to better cope with GeometryCollection.
2016-03-01 20:58:54 +00:00
John Firebaugh
032c8fba3c [core] Remove unused 2016-02-02 20:20:47 -08:00
Vladimir Agafonkin
bd56c8634b [core] update annotation simplification [skip ci]
This matches VT default
https://github.com/mapbox/tilelive-bridge/commit/6bd5b3cc68e86990cc9cf2b
fde5e956373cb5b0c
2015-12-10 13:16:40 -08:00
Vladimir Agafonkin
b44331245a [core] update geojson-vt options
- fix the code to use the same simplification tolerance
- remove outdated indexMaxZoom/Points values and rely on default
- bump buffer 2x to fix bleeding linecaps on thick lines
2015-12-10 12:59:49 -08:00
Konstantin Käfer
da7b6bb8b9 [core] upgrade to GeoJSON VT 3.0.0 2015-12-10 12:54:58 -08:00
John Firebaugh
e04c5f6506 [core] Replace StyleLayerType with RTTI 2015-12-07 18:22:33 -08:00
Konstantin Käfer
d5fb535058 [core] add namespace comment to closing brace 2015-12-03 15:38:36 +01:00
John Firebaugh
bafbf6c04b [core] Don't share util::ptr<StyleLayer> across threads 2015-12-01 11:16:57 -08:00
John Firebaugh
d08861daf4 [core] Force style-sourced annotations to be visible 2015-11-19 19:50:29 -08:00
John Firebaugh
54e08b1f83 [core] Eliminate use of ClassProperties for paint 2015-11-10 11:33:17 -08:00
John Firebaugh
a562567589 [core] Eliminate use of ClassProperties for layout 2015-11-10 11:33:17 -08:00
John Firebaugh
728a9858ea [core] Push layouts and paints to subclasses 2015-11-10 11:33:17 -08:00
John Firebaugh
7de4ce5bcb [core] Simplify Function 2015-11-06 10:38:47 -08:00
Mike Morris
79a5a96037 [core] mason geojsonvt-2.1.6.3
- [osx] set -fvisibility-inlines-hidden in gyp/common.gypi to silence
  mismatched visibility linker warnings
- [linux] set cxx_host in GYP_FLAGS to set -fabi-version=0 on gcc builds
  to use clang-built mason binaries
- [ios] update symbol visibility for iOS tests
- [ios] link libgeojsonvt.a in iOS tests xcodeproj
  - add libgeojsonvt.a to General -> Linked Frameworks and Libraries
  - add mason_packages (recursive) to Build Settings -> Library Search Path
- [ios] add libuv and geojsonvt first in iOS libtool smush to ensure symbols
  are found by later compilation units where they are undefined
2015-11-02 18:41:34 -05:00
John Firebaugh
540c6eca15 [core] Eliminate StyleBucket 2015-10-30 11:19:28 -07:00
John Firebaugh
bb6241844a [core] Extract PaintPropertiesMap 2015-10-26 12:00:11 -07:00
John Firebaugh
7a03d734fd [core] Respect source layer z-order for style-sourced annotations 2015-10-23 13:27:14 -07:00
Bruno de Oliveira Abinader
46e2f13e68 [core] Fix integer overflow for high maximum zoom levels 2015-10-23 11:00:52 -07:00
John Firebaugh
c46a8254c4 [core] Style-sourced shape annotation properties
This introduces the possibility to source the type and style properties
of a shape annotation from a designated layer in the style.
2015-10-22 15:27:53 -07:00
John Firebaugh
3afc8b4a29 [core] Introduce StyleLayer subclasses 2015-10-22 09:34:40 -07:00
John Firebaugh
df89de5cc5 [core] Rationalize style property classes: <type>{Paint,Layout}Properties 2015-10-22 09:21:30 -07:00
John Firebaugh
c5b95032a5 [core] Annotation refactor 2015-10-20 13:54:19 -07:00