X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fanimatedobject.h;h=2b640b763fa1859807f5a2a0736b44c57ca7aa87;hp=4782951d10fb9207a77e26a6d32cff367a27c3db;hb=ca52c492bd4f2fa1a1db3a85e50eaf7c43474830;hpb=de5d710b87879d6a0b06407da096ec505f8b7679 diff --git a/source/animatedobject.h b/source/animatedobject.h index 4782951d..2b640b76 100644 --- a/source/animatedobject.h +++ b/source/animatedobject.h @@ -3,6 +3,7 @@ #include #include +#include "keyframe.h" #include "matrix.h" #include "objectinstance.h" @@ -10,13 +11,12 @@ namespace Msp { namespace GL { /** -An object instance that can be animated. Despite the name, this can also be -useful for displaying objects at a static position. +An object instance that can be animated by an AnimationPlayer. */ class AnimatedObject: public ObjectInstance { public: - class Loader: public DataFile::ObjectLoader + class Loader: public DataFile::DerivedObjectLoader { public: Loader(AnimatedObject &); @@ -29,7 +29,6 @@ public: }; private: - Matrix matrix; std::vector pose_data; ProgramData *shdata; @@ -37,8 +36,12 @@ public: AnimatedObject(const Object &); ~AnimatedObject(); - void set_matrix(const Matrix &); void set_pose_matrix(unsigned, const Matrix &); + ProgramData &get_shader_data(); + const ProgramData &get_shader_data() const; + + // Deprecated + void set_uniform(const std::string &, const KeyFrame::AnimatedUniform &); virtual const Matrix *get_matrix() const { return &matrix; }