1 #ifndef MSP_GL_ANIMATEDOBJECT_H_
2 #define MSP_GL_ANIMATEDOBJECT_H_
5 #include <msp/core/attributes.h>
6 #include <msp/datafile/objectloader.h>
9 #include "objectinstance.h"
15 An object instance that can be animated by an AnimationPlayer.
17 class AnimatedObject: public ObjectInstance
20 class Loader: public DataFile::DerivedObjectLoader<AnimatedObject, ObjectInstance::Loader>
23 Loader(AnimatedObject &);
26 void position(float, float, float);
27 void rotation(float, float, float, float);
28 void scale(float, float, float);
29 void scale_uniform(float);
33 std::vector<float> pose_data;
37 AnimatedObject(const Object &);
39 void set_pose_matrix(unsigned, const Matrix &);
40 ProgramData &get_shader_data() { return shdata; }
41 const ProgramData &get_shader_data() const { return shdata; }
43 DEPRECATED void set_uniform(const std::string &, const KeyFrame::AnimatedUniform &);
45 virtual const Matrix *get_matrix() const { return &matrix; }
47 virtual void setup_render(Renderer &, Tag) const;