Shinya Kitaoka 810553
#pragma once
Shinya Kitaoka 810553
Toshihiro Shimizu 890ddd
#ifndef TINBETWEEN_H
Toshihiro Shimizu 890ddd
#define TINBETWEEN_H
Toshihiro Shimizu 890ddd
Shinya Kitaoka 262a92
#include <memory></memory>
Toshihiro Shimizu 890ddd
#include "tcommon.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TVectorImageP;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#undef DVAPI
Toshihiro Shimizu 890ddd
#undef DVVAR
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifdef TVRENDER_EXPORTS
Toshihiro Shimizu 890ddd
#define DVAPI DV_EXPORT_API
Toshihiro Shimizu 890ddd
#define DVVAR DV_EXPORT_VAR
Toshihiro Shimizu 890ddd
#else
Toshihiro Shimizu 890ddd
#define DVAPI DV_IMPORT_API
Toshihiro Shimizu 890ddd
#define DVVAR DV_IMPORT_VAR
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class DVAPI TInbetween {
Shinya Kitaoka 120a6e
  class Imp;
Shinya Kitaoka 120a6e
  std::unique_ptr<imp> m_imp;</imp>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
pojienie ab0188
  enum TweenAlgorithm {
pojienie ab0188
    LinearInterpolation,
pojienie ab0188
    EaseInInterpolation,
pojienie ab0188
    EaseOutInterpolation,
pojienie ab0188
    EaseInOutInterpolation
pojienie ab0188
  };
pojienie ab0188
pojienie ab0188
  static double interpolation(double t, enum TweenAlgorithm);
pojienie ab0188
Shinya Kitaoka 120a6e
  TInbetween(const TVectorImageP firstImage, const TVectorImageP lastImage);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  virtual ~TInbetween();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  TVectorImageP tween(double t) const;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif