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.
This commit is contained in:
parent
fd7510984a
commit
6ed93391c4
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue