looping(false)
{ }
+// Avoid synthesizing ~RefPtr in files including animation.h
+Animation::~Animation()
+{ }
+
void Animation::set_armature(const Armature &a)
{
armature = &a;
}
// We must redo the base point correction since interpolation throws if 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();
Vector3 new_base = result*base;
- result = Matrix::translation(base.x-new_base.x, base.y-new_base.y, base.z-new_base.z)*result;
+ result = Matrix::translation(base-new_base)*result;
return result;
}