2019-01-18 21:26:42 +01:00
|
|
|
#pragma once
|
2019-01-18 15:55:06 +01:00
|
|
|
#include "geom.hpp"
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
class Animation {
|
|
|
|
|
public:
|
2014-01-31 08:23:00 +13:00
|
|
|
Animation();
|
2019-01-18 17:04:17 +01:00
|
|
|
Animation(const Animation& t);
|
|
|
|
|
Animation(const Animation& t, int first, int last);
|
2014-01-31 08:23:00 +13:00
|
|
|
~Animation();
|
|
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
Animation& operator=(const Animation& t);
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
void setScaleKey(int frame, const Vector& q);
|
|
|
|
|
void setPositionKey(int frame, const Vector& p);
|
|
|
|
|
void setRotationKey(int frame, const Quat& q);
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
int numScaleKeys() const;
|
|
|
|
|
int numRotationKeys() const;
|
|
|
|
|
int numPositionKeys() const;
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
Vector getScale(float time) const;
|
|
|
|
|
Vector getPosition(float time) const;
|
|
|
|
|
Quat getRotation(float time) const;
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
private:
|
2014-01-31 08:23:00 +13:00
|
|
|
struct Rep;
|
2019-01-18 17:04:17 +01:00
|
|
|
Rep* rep;
|
2014-01-31 08:23:00 +13:00
|
|
|
|
2019-01-18 17:04:17 +01:00
|
|
|
Rep* write();
|
2014-01-31 08:23:00 +13:00
|
|
|
};
|