keyframe.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _keyframe_h_
  2. #define _keyframe_h_
  3. //////////////////////////////////////////////////////////////////////////////
  4. //
  5. // Key Framed Transforms
  6. //
  7. //////////////////////////////////////////////////////////////////////////////
  8. class KeyFramedTranslateTransform : public Transform {
  9. protected:
  10. KeyFramedTranslateTransform(Number* pframe) :
  11. Transform(pframe)
  12. {
  13. }
  14. public:
  15. virtual void AddKey(float frame, const Vector& vec) = 0;
  16. };
  17. class KeyFramedScaleTransform : public Transform {
  18. protected:
  19. KeyFramedScaleTransform(Number* pframe) :
  20. Transform(pframe)
  21. {
  22. }
  23. public:
  24. virtual void AddKey(float frame, const Vector& vec) = 0;
  25. };
  26. class KeyFramedRotateTransform : public Transform {
  27. protected:
  28. KeyFramedRotateTransform(Number* pframe) :
  29. Transform(pframe)
  30. {
  31. }
  32. public:
  33. virtual void AddKey(float frame, const Quaternion& quaternion) = 0;
  34. };
  35. TRef<KeyFramedTranslateTransform> CreateKeyFramedTranslateTransform(Number* pframe);
  36. TRef<KeyFramedScaleTransform> CreateKeyFramedScaleTransform(Number* pframe);
  37. TRef<KeyFramedRotateTransform> CreateKeyFramedRotateTransform(Number* pframe);
  38. #endif