diff options
author | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2018-10-30 15:59:47 +0200 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2018-11-19 14:06:21 +0200 |
commit | 05d5edfa74ebc74d5e74560b597be5aec6f4e9e8 (patch) | |
tree | 2b33f567aab34704c8a545656347aff9e309d58e /src/mbgl | |
parent | 767745e8b85bdeabde5781c87ac9c31a3617c4ff (diff) | |
download | qtlocation-mapboxgl-05d5edfa74ebc74d5e74560b597be5aec6f4e9e8.tar.gz |
[core] Remove casts where expected type is part of the contract
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/layout/pattern_layout.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 10 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/circle_bucket.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/heatmap_bucket.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_circle_layer.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_heatmap_layer.hpp | 4 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.hpp | 4 |
7 files changed, 21 insertions, 9 deletions
diff --git a/src/mbgl/layout/pattern_layout.hpp b/src/mbgl/layout/pattern_layout.hpp index 0ffac36b75..a29221c547 100644 --- a/src/mbgl/layout/pattern_layout.hpp +++ b/src/mbgl/layout/pattern_layout.hpp @@ -37,14 +37,14 @@ public: hasPattern(false) { using PatternLayer = typename B::RenderLayerType; - const auto renderLayer = layers.at(0)->as<PatternLayer>(); + const auto renderLayer = static_cast<const PatternLayer*>(layers.at(0)); const typename PatternLayer::StyleLayerImpl& leader = renderLayer->impl(); layout = leader.layout.evaluate(PropertyEvaluationParameters(zoom)); sourceLayerID = leader.sourceLayer; groupID = renderLayer->getID(); for (const auto& layer : layers) { - const typename B::PossiblyEvaluatedPaintProperties evaluatedProps = layer->as<PatternLayer>()->paintProperties(); + const typename B::PossiblyEvaluatedPaintProperties evaluatedProps = static_cast<const PatternLayer*>(layer)->paintProperties(); layerPaintProperties.emplace(layer->getID(), std::move(evaluatedProps)); const auto patternProperty = evaluatedProps.template get<typename PatternLayer::PatternProperty>(); const auto constantPattern = patternProperty.constantOr(Faded<std::basic_string<char> >{ "", ""}); diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 6d20afeb8d..332fb3f46a 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -50,11 +50,11 @@ SymbolLayout::SymbolLayout(const BucketParameters& parameters, pixelRatio(parameters.pixelRatio), tileSize(util::tileSize * overscaling), tilePixelRatio(float(util::EXTENT) / tileSize), - textSize(layers.at(0)->as<RenderSymbolLayer>()->impl().layout.get<TextSize>()), - iconSize(layers.at(0)->as<RenderSymbolLayer>()->impl().layout.get<IconSize>()) + textSize(toRenderSymbolLayer(layers.at(0))->impl().layout.get<TextSize>()), + iconSize(toRenderSymbolLayer(layers.at(0))->impl().layout.get<IconSize>()) { - const SymbolLayer::Impl& leader = layers.at(0)->as<RenderSymbolLayer>()->impl(); + const SymbolLayer::Impl& leader = toRenderSymbolLayer(layers.at(0))->impl(); layout = leader.layout.evaluate(PropertyEvaluationParameters(zoom)); @@ -91,8 +91,8 @@ SymbolLayout::SymbolLayout(const BucketParameters& parameters, for (const auto& layer : layers) { layerPaintProperties.emplace(layer->getID(), std::make_pair( - layer->as<RenderSymbolLayer>()->iconPaintProperties(), - layer->as<RenderSymbolLayer>()->textPaintProperties() + toRenderSymbolLayer(layer)->iconPaintProperties(), + toRenderSymbolLayer(layer)->textPaintProperties() )); } diff --git a/src/mbgl/renderer/buckets/circle_bucket.cpp b/src/mbgl/renderer/buckets/circle_bucket.cpp index 820cf9f525..7e08b3c96b 100644 --- a/src/mbgl/renderer/buckets/circle_bucket.cpp +++ b/src/mbgl/renderer/buckets/circle_bucket.cpp @@ -18,7 +18,7 @@ CircleBucket::CircleBucket(const BucketParameters& parameters, const std::vector std::piecewise_construct, std::forward_as_tuple(layer->getID()), std::forward_as_tuple( - layer->as<RenderCircleLayer>()->evaluated, + toRenderCircleLayer(layer)->evaluated, parameters.tileID.overscaledZ)); } } diff --git a/src/mbgl/renderer/buckets/heatmap_bucket.cpp b/src/mbgl/renderer/buckets/heatmap_bucket.cpp index 46d5f31599..1ed6064c34 100644 --- a/src/mbgl/renderer/buckets/heatmap_bucket.cpp +++ b/src/mbgl/renderer/buckets/heatmap_bucket.cpp @@ -18,7 +18,7 @@ HeatmapBucket::HeatmapBucket(const BucketParameters& parameters, const std::vect std::piecewise_construct, std::forward_as_tuple(layer->getID()), std::forward_as_tuple( - layer->as<RenderHeatmapLayer>()->evaluated, + toRenderHeatmapLayer(layer)->evaluated, parameters.tileID.overscaledZ)); } } diff --git a/src/mbgl/renderer/layers/render_circle_layer.hpp b/src/mbgl/renderer/layers/render_circle_layer.hpp index 53353fcdcb..678aeb102f 100644 --- a/src/mbgl/renderer/layers/render_circle_layer.hpp +++ b/src/mbgl/renderer/layers/render_circle_layer.hpp @@ -39,4 +39,8 @@ inline bool RenderLayer::is<RenderCircleLayer>() const { return type == style::LayerType::Circle; } +inline const RenderCircleLayer* toRenderCircleLayer(const RenderLayer* layer) { + return static_cast<const RenderCircleLayer*>(layer); +} + } // namespace mbgl diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.hpp b/src/mbgl/renderer/layers/render_heatmap_layer.hpp index 9aca8bdc93..c2d2dcaa3b 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.hpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.hpp @@ -49,4 +49,8 @@ inline bool RenderLayer::is<RenderHeatmapLayer>() const { return type == style::LayerType::Heatmap; } +inline const RenderHeatmapLayer* toRenderHeatmapLayer(const RenderLayer* layer) { + return static_cast<const RenderHeatmapLayer*>(layer); +} + } // namespace mbgl diff --git a/src/mbgl/renderer/layers/render_symbol_layer.hpp b/src/mbgl/renderer/layers/render_symbol_layer.hpp index bd43324712..7c52467e56 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.hpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.hpp @@ -99,4 +99,8 @@ inline bool RenderLayer::is<RenderSymbolLayer>() const { return type == style::LayerType::Symbol; } +inline const RenderSymbolLayer* toRenderSymbolLayer(const RenderLayer* layer) { + return static_cast<const RenderSymbolLayer*>(layer); +} + } // namespace mbgl |