summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorYoung Hahn <young@mapbox.com>2016-07-06 17:29:34 -0400
committerGitHub <noreply@github.com>2016-07-06 17:29:34 -0400
commit71a3b1d0db170cfc1786be88c3e7b286c50dece9 (patch)
tree1d51cc28946dc990f8f613795417cb76ea8c00df /include
parent903d609b40b6d0f4873f7bb46d96f4a06d7b17d6 (diff)
downloadqtlocation-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.hpp11
-rw-r--r--include/mbgl/util/feature.hpp6
-rw-r--r--include/mbgl/util/geometry.hpp17
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