[Bf-blender-cvs] [6ed93391c48] master: Fix : Set Curve Handle Position Node Auto Convert
Johnny Matthews
noreply at git.blender.org
Wed Oct 20 06:23:46 CEST 2021
Commit: 6ed93391c485ac3425e4d67981b4e71ba1d0eb5c
Author: Johnny Matthews
Date: Tue Oct 19 23:23:14 2021 -0500
Branches: master
https://developer.blender.org/rB6ed93391c485ac3425e4d67981b4e71ba1d0eb5c
Fix : Set Curve Handle Position Node Auto Convert
When trying to auto convert Vector to Free or Auto to Align, the
old handle positions needed to be baked in first.
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc b/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc
index cb1c57fa476..d7aaaffc7c6 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_set_curve_handles.cc
@@ -78,17 +78,21 @@ static void set_position_in_component(const GeometryNodeCurveHandleMode mode,
if (selection[current_mask] == current_point) {
if (mode & GEO_NODE_CURVE_HANDLE_LEFT) {
if (bezier.handle_types_left()[i] == BezierSpline::HandleType::Vector) {
+ bezier.ensure_auto_handles();
bezier.handle_types_left()[i] = BezierSpline::HandleType::Free;
}
else if (bezier.handle_types_left()[i] == BezierSpline::HandleType::Auto) {
+ bezier.ensure_auto_handles();
bezier.handle_types_left()[i] = BezierSpline::HandleType::Align;
}
}
else {
if (bezier.handle_types_right()[i] == BezierSpline::HandleType::Vector) {
+ bezier.ensure_auto_handles();
bezier.handle_types_right()[i] = BezierSpline::HandleType::Free;
}
else if (bezier.handle_types_right()[i] == BezierSpline::HandleType::Auto) {
+ bezier.ensure_auto_handles();
bezier.handle_types_right()[i] = BezierSpline::HandleType::Align;
}
}
More information about the Bf-blender-cvs
mailing list