diff options
author | Young Hahn <young@mapbox.com> | 2016-07-06 17:29:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-06 17:29:34 -0400 |
commit | 71a3b1d0db170cfc1786be88c3e7b286c50dece9 (patch) | |
tree | 1d51cc28946dc990f8f613795417cb76ea8c00df /include | |
parent | 903d609b40b6d0f4873f7bb46d96f4a06d7b17d6 (diff) | |
download | qtlocation-mapboxgl-71a3b1d0db170cfc1786be88c3e7b286c50dece9.tar.gz |
[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
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/style/filter_evaluator.hpp | 11 | ||||
-rw-r--r-- | include/mbgl/util/feature.hpp | 6 | ||||
-rw-r--r-- | include/mbgl/util/geometry.hpp | 17 |
3 files changed, 31 insertions, 3 deletions
diff --git a/include/mbgl/style/filter_evaluator.hpp b/include/mbgl/style/filter_evaluator.hpp index e7b6e0f5a0..cf91fdab1f 100644 --- a/include/mbgl/style/filter_evaluator.hpp +++ b/include/mbgl/style/filter_evaluator.hpp @@ -151,13 +151,24 @@ private: return false; } + bool operator()(const NullValue&, + const NullValue&) const { + // Should be unreachable; null is not currently allowed by the style specification. + assert(false); + return false; + } + bool operator()(const std::vector<Value>&, const std::vector<Value>&) const { + // Should be unreachable; nested values are not currently allowed by the style specification. + assert(false); return false; } bool operator()(const std::unordered_map<std::string, Value>&, const std::unordered_map<std::string, Value>&) const { + // Should be unreachable; nested values are not currently allowed by the style specification. + assert(false); return false; } }; diff --git a/include/mbgl/util/feature.hpp b/include/mbgl/util/feature.hpp index 7747d34ee9..7c5c8d7625 100644 --- a/include/mbgl/util/feature.hpp +++ b/include/mbgl/util/feature.hpp @@ -7,13 +7,13 @@ namespace mbgl { using Value = mapbox::geometry::value; - +using NullValue = mapbox::geometry::null_value_t; +using PropertyMap = mapbox::geometry::property_map; +using FeatureIdentifier = mapbox::geometry::identifier; class Feature : public mapbox::geometry::feature<double> { public: Feature(geometry_type&& geometry_) : mapbox::geometry::feature<double> { std::move(geometry_) } {} - - optional<uint64_t> id; }; } // namespace mbgl diff --git a/include/mbgl/util/geometry.hpp b/include/mbgl/util/geometry.hpp index 7fc2668c2c..6dc16bc514 100644 --- a/include/mbgl/util/geometry.hpp +++ b/include/mbgl/util/geometry.hpp @@ -41,4 +41,21 @@ Point<S> convertPoint(const Point<T>& p) { return Point<S>(p.x, p.y); } +struct ToFeatureType { + template <class T> + FeatureType operator()(const Point<T> &) const { return FeatureType::Point; } + template <class T> + FeatureType operator()(const MultiPoint<T> &) const { return FeatureType::Point; } + template <class T> + FeatureType operator()(const LineString<T> &) const { return FeatureType::LineString; } + template <class T> + FeatureType operator()(const MultiLineString<T> &) const { return FeatureType::LineString; } + template <class T> + FeatureType operator()(const Polygon<T> &) const { return FeatureType::Polygon; } + template <class T> + FeatureType operator()(const MultiPolygon<T> &) const { return FeatureType::Polygon; } + template <class T> + FeatureType operator()(const mapbox::geometry::geometry_collection<T> &) const { return FeatureType::Unknown; } +}; + } // namespace mbgl |