From 1de8aeed31226f167c528bfdcfae97d12c5d67ca Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 16 Jun 2017 10:16:11 -0700 Subject: [core] Fix composite function approximation for non-integer stops --- src/mbgl/renderer/paint_property_binder.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/mbgl/renderer/paint_property_binder.hpp') diff --git a/src/mbgl/renderer/paint_property_binder.hpp b/src/mbgl/renderer/paint_property_binder.hpp index 062b77888e..bcbc7c287d 100644 --- a/src/mbgl/renderer/paint_property_binder.hpp +++ b/src/mbgl/renderer/paint_property_binder.hpp @@ -194,11 +194,11 @@ public: CompositeFunctionPaintPropertyBinder(style::CompositeFunction function_, float zoom, T defaultValue_) : function(std::move(function_)), defaultValue(std::move(defaultValue_)), - coveringRanges(function.coveringRanges(zoom)) { + rangeOfCoveringRanges(function.rangeOfCoveringRanges({zoom, zoom + 1})) { } void populateVertexVector(const GeometryTileFeature& feature, std::size_t length) override { - Range range = function.evaluate(std::get<1>(coveringRanges), feature, defaultValue); + Range range = function.evaluate(rangeOfCoveringRanges, feature, defaultValue); this->statistics.add(range.min); this->statistics.add(range.max); AttributeValue value = zoomInterpolatedAttributeValue( @@ -225,7 +225,7 @@ public: } float interpolationFactor(float currentZoom) const override { - return util::interpolationFactor(1.0f, std::get<0>(coveringRanges), currentZoom); + return util::interpolationFactor(1.0f, { rangeOfCoveringRanges.min.zoom, rangeOfCoveringRanges.max.zoom }, currentZoom); } T uniformValue(const PossiblyEvaluatedPropertyValue& currentValue) const override { @@ -238,10 +238,10 @@ public: } private: - using InnerStops = typename style::CompositeFunction::InnerStops; style::CompositeFunction function; T defaultValue; - std::tuple, Range> coveringRanges; + using CoveringRanges = typename style::CompositeFunction::CoveringRanges; + Range rangeOfCoveringRanges; gl::VertexVector vertexVector; optional> vertexBuffer; }; -- cgit v1.2.1