summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-12-21 14:14:03 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-04 11:51:33 +0200
commitc621b8100d8f75a77789371d8c33a7f5dff18651 (patch)
treec9b1290a8496d28f0f55f91ae79d58da0ed945e6 /src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
parent4e86bca5abecdaa6dcdc361421fe73655e7e1b69 (diff)
downloadqtlocation-mapboxgl-c621b8100d8f75a77789371d8c33a7f5dff18651.tar.gz
[core] Drop LayerType
Drop LayerType and its remaining usages. The generic code should be layer type agnostic.
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>();