1 #ifndef MSP_GL_ANIMATEDOBJECT_H_
2 #define MSP_GL_ANIMATEDOBJECT_H_
5 #include <msp/datafile/objectloader.h>
8 #include "objectinstance.h"
14 An object instance that can be animated by an AnimationPlayer.
16 class AnimatedObject: public ObjectInstance
19 class Loader: public DataFile::ObjectLoader<AnimatedObject>
22 Loader(AnimatedObject &);
25 void position(float, float, float);
26 void rotation(float, float, float, float);
27 void scale(float, float, float);
28 void scale_uniform(float);
33 std::vector<float> pose_data;
37 AnimatedObject(const Object &);
40 void set_pose_matrix(unsigned, const Matrix &);
41 ProgramData &get_shader_data();
42 const ProgramData &get_shader_data() const;
45 void set_uniform(const std::string &, const KeyFrame::AnimatedUniform &);
47 virtual const Matrix *get_matrix() const { return &matrix; }
49 virtual void setup_render(Renderer &, const Tag &) const;