1 #pragma once 2 3 #ifndef TINBETWEEN_H 4 #define TINBETWEEN_H 5 6 #include <memory> 7 #include "tcommon.h" 8 9 class TVectorImageP; 10 11 #undef DVAPI 12 #undef DVVAR 13 14 #ifdef TVRENDER_EXPORTS 15 #define DVAPI DV_EXPORT_API 16 #define DVVAR DV_EXPORT_VAR 17 #else 18 #define DVAPI DV_IMPORT_API 19 #define DVVAR DV_IMPORT_VAR 20 #endif 21 22 class DVAPI TInbetween { 23 class Imp; 24 std::unique_ptr<Imp> m_imp; 25 26 public: 27 enum TweenAlgorithm { 28 LinearInterpolation, 29 EaseInInterpolation, 30 EaseOutInterpolation, 31 EaseInOutInterpolation 32 }; 33 34 static double interpolation(double t, enum TweenAlgorithm); 35 36 TInbetween(const TVectorImageP firstImage, const TVectorImageP lastImage); 37 38 virtual ~TInbetween(); 39 40 TVectorImageP tween(double t) const; 41 }; 42 43 #endif 44