From 2a96e9c72ad55142c11234e9b5260c6f56e80522 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Tue, 27 Feb 2024 20:53:56 +0200 Subject: [PATCH] Fix creation of animation curves --- source/animation/animation.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/animation/animation.cpp b/source/animation/animation.cpp index a4b801c8..d6c1ba77 100644 --- a/source/animation/animation.cpp +++ b/source/animation/animation.cpp @@ -237,13 +237,13 @@ void Animation::create_curve(CurveTarget target, int component, const T &extract { typename Knot::Value cv = knots.back().y; knots.back().y = (knots[knots.size()-2].y+cv*2.0)/3.0; - knots.emplace_back(x, (dvalue+cv*2.0/3.0)); + knots.emplace_back(x, (dvalue+cv*2.0)/3.0); } else if(n_control==0 && !knots.empty()) { typename Knot::Value prev = knots.back().y; knots.emplace_back(knots.back().x, (prev*2.0+dvalue)/3.0); - knots.emplace_back(x, (prev+dvalue*2.0/3.0)); + knots.emplace_back(x, (prev+dvalue*2.0)/3.0); } n_control = 0; } @@ -256,6 +256,7 @@ void Animation::create_curve(CurveTarget target, int component, const T &extract if(knots.size()==1) { + knots.reserve(knots.size()+3); knots.push_back(knots.back()); knots.push_back(knots.back()); knots.back().x += 1; -- 2.45.2