#define MSP_GL_ANIMATEDOBJECT_H_
#include <vector>
+#include <msp/datafile/objectloader.h>
+#include "keyframe.h"
#include "matrix.h"
#include "objectinstance.h"
*/
class AnimatedObject: public ObjectInstance
{
+public:
+ class Loader: public DataFile::ObjectLoader<AnimatedObject>
+ {
+ public:
+ Loader(AnimatedObject &);
+
+ private:
+ void position(float, float, float);
+ void rotation(float, float, float, float);
+ void scale(float, float, float);
+ void scale_uniform(float);
+ };
+
private:
Matrix matrix;
std::vector<float> pose_data;
void set_matrix(const Matrix &);
void set_pose_matrix(unsigned, const Matrix &);
+ void set_uniform(const std::string &, const KeyFrame::AnimatedUniform &);
+
+ virtual const Matrix *get_matrix() const { return &matrix; }
virtual void setup_render(Renderer &, const Tag &) const;
};