Files
BlitzNext/Runtime/blitz3d/animation.hpp
T

37 lines
675 B
C++
Raw Normal View History

2014-01-31 08:23:00 +13:00
#ifndef ANIMATION_H
#define ANIMATION_H
#include <list>
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
};
#endif