X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fanimation.cpp;h=e633aae502dfc0fa59f938b3add23e5ef5357604;hp=744262d84781ae40e0b2c42b604b1b2badb516cf;hb=00cc52f21b5ae29fb1b25c162552c851a0559e66;hpb=19555043d70f972feedb89786fc24a2b83b4f7e9 diff --git a/source/animation.cpp b/source/animation.cpp index 744262d8..e633aae5 100644 --- a/source/animation.cpp +++ b/source/animation.cpp @@ -72,20 +72,6 @@ void Animation::add_keyframe(const Time::TimeDelta &t, const RefPtrget_uniforms(); @@ -107,6 +93,20 @@ void Animation::prepare_keyframe(TimedKeyFrame &tkf) tkf.prepare(*this); } +void Animation::add_event(const Time::TimeDelta &t, const string &n, const Variant &v) +{ + Event event; + event.time = t; + event.name = n; + event.value = v; + events.push_back(event); +} + +void Animation::set_looping(bool l) +{ + looping = l; +} + Animation::AxisInterpolation::AxisInterpolation(): slope(0), @@ -333,7 +333,7 @@ Matrix Animation::Iterator::get_pose_matrix(unsigned link) const return Matrix(); } - // We must redo the base point correction since interpolation throws if off + // We must redo the base point correction since interpolation throws it off // XXX This should probably be done on local matrices Matrix result = iter->pose_matrices[link].get(time_since_keyframe/iter->delta_t); const Vector3 &base = animation->armature->get_link(link).get_base(); @@ -400,6 +400,11 @@ void Animation::Loader::event4f(const string &n, float v0, float v1, float v2, f obj.add_event(current_time, n, Vector4(v0, v1, v2, v3)); } +void Animation::Loader::interval(float t) +{ + current_time += t*Time::sec; +} + void Animation::Loader::keyframe(const string &n) { obj.add_keyframe(current_time, get_collection().get(n)); @@ -416,10 +421,5 @@ void Animation::Loader::keyframe_inline() obj.add_keyframe(current_time, kf); } -void Animation::Loader::interval(float t) -{ - current_time += t*Time::sec; -} - } // namespace GL } // namespace Msp