diff options
Diffstat (limited to 'src/mbgl/style/style_bucket_parameters.cpp')
-rw-r--r-- | src/mbgl/style/style_bucket_parameters.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mbgl/style/style_bucket_parameters.cpp b/src/mbgl/style/style_bucket_parameters.cpp new file mode 100644 index 0000000000..1f9b5ab1c0 --- /dev/null +++ b/src/mbgl/style/style_bucket_parameters.cpp @@ -0,0 +1,19 @@ +#include <mbgl/style/style_bucket_parameters.hpp> +#include <mbgl/map/geometry_tile.hpp> + +namespace mbgl { + +void StyleBucketParameters::eachFilteredFeature(const FilterExpression& filter, + std::function<void (const GeometryTileFeature&)> function) { + for (std::size_t i = 0; !cancelled() && i < layer.featureCount(); i++) { + auto feature = layer.getFeature(i); + + GeometryTileFeatureExtractor extractor(*feature); + if (!evaluate(filter, extractor)) + continue; + + function(*feature); + } +} + +} |