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:
authorHans Goudey <h.goudey@me.com>2021-06-09 07:52:29 +0300
committerHans Goudey <h.goudey@me.com>2021-06-09 07:52:29 +0300
commit8c3f4f7edf9d9769f07291d64bc22fa85e210e86 (patch)
tree5f55f6486d0a4dac34ec2244904cdaa42a1ce669 /source/blender/blenkernel/intern/spline_bezier.cc
parent307f8c8e76b37d0287d5dc18e1b1fd047299cadd (diff)
Fix: Incorrect node bezier spline tangent calculation for end points
The code was using the useless dangling handle at each end of the spline rather than the handle pointing inwards.
Diffstat (limited to 'source/blender/blenkernel/intern/spline_bezier.cc')
-rw-r--r--source/blender/blenkernel/intern/spline_bezier.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/spline_bezier.cc b/source/blender/blenkernel/intern/spline_bezier.cc
index 3c6cf2c78cf..3e421dcfc13 100644
--- a/source/blender/blenkernel/intern/spline_bezier.cc
+++ b/source/blender/blenkernel/intern/spline_bezier.cc
@@ -317,11 +317,11 @@ void BezierSpline::correct_end_tangents() const
MutableSpan<float3> tangents(evaluated_tangents_cache_);
- if (handle_positions_left_.first() != positions_.first()) {
- tangents.first() = (positions_.first() - handle_positions_left_.first()).normalized();
+ if (handle_positions_right_.first() != positions_.first()) {
+ tangents.first() = (handle_positions_right_.first() - positions_.first()).normalized();
}
- if (handle_positions_right_.last() != positions_.last()) {
- tangents.last() = (handle_positions_right_.last() - positions_.last()).normalized();
+ if (handle_positions_left_.last() != positions_.last()) {
+ tangents.last() = (positions_.last() - handle_positions_left_.last()).normalized();
}
}