#ifndef SCIQLOP_VARIABLECACHESTRATEGY_H #define SCIQLOP_VARIABLECACHESTRATEGY_H #include "CoreGlobal.h" #include #include #include #include #include #include Q_DECLARE_LOGGING_CATEGORY(LOG_VariableCacheStrategy) class Variable; /** * Possible types of zoom operation */ enum class CacheStrategy { FixedTolerance, TwoThreashold }; /// This class aims to hande the cache strategy. class SCIQLOP_CORE_EXPORT VariableCacheStrategy : public QObject { Q_OBJECT public: explicit VariableCacheStrategy(QObject *parent = 0); std::pair computeStrategyRanges(const SqpRange &vRange, const SqpRange &rangeRequested); private: class VariableCacheStrategyPrivate; spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_VARIABLECACHESTRATEGY_H