summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2018-10-30 15:59:47 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2018-11-19 14:06:21 +0200
commit05d5edfa74ebc74d5e74560b597be5aec6f4e9e8 (patch)
tree2b33f567aab34704c8a545656347aff9e309d58e
parent767745e8b85bdeabde5781c87ac9c31a3617c4ff (diff)
downloadqtlocation-mapboxgl-05d5edfa74ebc74d5e74560b597be5aec6f4e9e8.tar.gz
[core] Remove casts where expected type is part of the contract
-rw-r--r--src/mbgl/layout/pattern_layout.hpp4
-rw-r--r--src/mbgl/layout/symbol_layout.cpp10
-rw-r--r--src/mbgl/renderer/buckets/circle_bucket.cpp2
-rw-r--r--src/mbgl/renderer/buckets/heatmap_bucket.cpp2
-rw-r--r--src/mbgl/renderer/layers/render_circle_layer.hpp4
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.hpp4
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.hpp4
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