diff options
Diffstat (limited to 'src/mbgl/style/property_evaluator.hpp')
-rw-r--r-- | src/mbgl/style/property_evaluator.hpp | 46 |
1 files changed, 4 insertions, 42 deletions
diff --git a/src/mbgl/style/property_evaluator.hpp b/src/mbgl/style/property_evaluator.hpp index a0bce2f499..ca4962d948 100644 --- a/src/mbgl/style/property_evaluator.hpp +++ b/src/mbgl/style/property_evaluator.hpp @@ -1,66 +1,28 @@ #pragma once #include <mbgl/style/property_value.hpp> -#include <mbgl/util/interpolate.hpp> +#include <mbgl/style/property_evaluation_parameters.hpp> namespace mbgl { namespace style { -class CalculationParameters; - template <typename T> class PropertyEvaluator { public: using ResultType = T; - PropertyEvaluator(const CalculationParameters& parameters_, T defaultValue_) + PropertyEvaluator(const PropertyEvaluationParameters& parameters_, T defaultValue_) : parameters(parameters_), defaultValue(std::move(defaultValue_)) {} T operator()(const Undefined&) const { return defaultValue; } T operator()(const T& constant) const { return constant; } - T operator()(const Function<T>&) const; + T operator()(const Function<T>& fn) const { return fn.evaluate(parameters.z); } private: - const CalculationParameters& parameters; - T defaultValue; -}; - -template <typename T> -struct Faded { - T from; - T to; - float fromScale; - float toScale; - float t; -}; - -template <typename T> -class CrossFadedPropertyEvaluator { -public: - using ResultType = Faded<T>; - - CrossFadedPropertyEvaluator(const CalculationParameters& parameters_, T defaultValue_) - : parameters(parameters_), - defaultValue(std::move(defaultValue_)) {} - - Faded<T> operator()(const Undefined&) const; - Faded<T> operator()(const T& constant) const; - Faded<T> operator()(const Function<T>&) const; - -private: - Faded<T> calculate(const T& min, const T& mid, const T& max) const; - - const CalculationParameters& parameters; + const PropertyEvaluationParameters& parameters; T defaultValue; }; } // namespace style - -namespace util { -template <typename T> -struct Interpolator<style::Faded<T>> - : Uninterpolated {}; -} // namespace util - } // namespace mbgl |