summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp')
-rw-r--r--src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp b/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
index 177c6e0c23..7b932e6b2b 100644
--- a/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
+++ b/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
@@ -37,9 +37,7 @@ struct GeometryTooLongException : std::exception {};
FillExtrusionBucket::FillExtrusionBucket(const FillExtrusionBucket::PossiblyEvaluatedLayoutProperties,
std::map<std::string, FillExtrusionBucket::PossiblyEvaluatedPaintProperties> layerPaintProperties,
const float zoom,
- const uint32_t)
- : Bucket(LayerType::FillExtrusion) {
-
+ const uint32_t) {
for (const auto& pair : layerPaintProperties) {
paintPropertyBinders.emplace(
std::piecewise_construct,
@@ -50,6 +48,8 @@ FillExtrusionBucket::FillExtrusionBucket(const FillExtrusionBucket::PossiblyEval
}
}
+FillExtrusionBucket::~FillExtrusionBucket() = default;
+
void FillExtrusionBucket::addFeature(const GeometryTileFeature& feature,
const GeometryCollection& geometry,
const ImagePositions& patternPositions,
@@ -180,6 +180,10 @@ bool FillExtrusionBucket::hasData() const {
return !triangleSegments.empty();
}
+bool FillExtrusionBucket::supportsLayer(const style::Layer::Impl& impl) const {
+ return style::FillExtrusionLayer::Impl::staticTypeInfo() == impl.getTypeInfo();
+}
+
float FillExtrusionBucket::getQueryRadius(const RenderLayer& layer) const {
const RenderFillExtrusionLayer* fillExtrusionLayer = toRenderFillExtrusionLayer(&layer);
const std::array<float, 2>& translate = fillExtrusionLayer->evaluated.get<FillExtrusionTranslate>();