#pragma once #ifndef TINBETWEEN_H #define TINBETWEEN_H #include #include "tcommon.h" class TVectorImageP; #undef DVAPI #undef DVVAR #ifdef TVRENDER_EXPORTS #define DVAPI DV_EXPORT_API #define DVVAR DV_EXPORT_VAR #else #define DVAPI DV_IMPORT_API #define DVVAR DV_IMPORT_VAR #endif class DVAPI TInbetween { class Imp; std::unique_ptr m_imp; public: enum TweenAlgorithm { LinearInterpolation, EaseInInterpolation, EaseOutInterpolation, EaseInOutInterpolation }; static double interpolation(double t, enum TweenAlgorithm); TInbetween(const TVectorImageP firstImage, const TVectorImageP lastImage); virtual ~TInbetween(); TVectorImageP tween(double t) const; }; #endif