Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-02-28 05:09:17 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-28 05:11:09 +0400
commitba08031783a1aebc4559351454e3de1a9629b37a (patch)
treebcd1e701b39d94d8698baca880ff75a3fe9960f6
parent3a99fa5d7fa11a047bc873d0ef1825a8f389c88d (diff)
Fix T38817: FCurve autoclamp error
Animating large values with auto handles didn't work well, (large variations on the Y axis would shrink handles).
-rw-r--r--source/blender/blenkernel/intern/curve.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 01ddbc60b50..0d06313a6ef 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -2961,7 +2961,13 @@ static void calchandleNurb_intern(BezTriple *bezt, BezTriple *prev, BezTriple *n
tvec[0] = dvec_b[0] / len_b + dvec_a[0] / len_a;
tvec[1] = dvec_b[1] / len_b + dvec_a[1] / len_a;
tvec[2] = dvec_b[2] / len_b + dvec_a[2] / len_a;
- len = len_v3(tvec) * 2.5614f;
+ if (mode != 0) {
+ len = tvec[0];
+ }
+ else {
+ len = len_v3(tvec);
+ }
+ len *= 2.5614f;
if (len != 0.0f) {
bool leftviolate = false, rightviolate = false; /* for mode==2 */