[Bf-blender-cvs] [65b5023df45] master: Fix: Geometry Nodes Handle Type Selection Fix
Johnny Matthews
noreply at git.blender.org
Mon Oct 4 19:48:36 CEST 2021
Commit: 65b5023df457d1277588c554a1abc4bdb7eeab6e
Author: Johnny Matthews
Date: Mon Oct 4 12:47:35 2021 -0500
Branches: master
https://developer.blender.org/rB65b5023df457d1277588c554a1abc4bdb7eeab6e
Fix: Geometry Nodes Handle Type Selection Fix
Fix the selection logic on the Handle Type Selection node to work
as intended:
(Left is Selected AND Left is ChosenType)
OR
(Right is Selected AND Right is ChosenType)
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc
index 093146d563e..a40e839cc02 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_handle_type_selection.cc
@@ -79,12 +79,10 @@ static void select_by_handle_type(const CurveEval &curve,
else {
BezierSpline *b = static_cast<BezierSpline *>(spline.get());
for (int i : IndexRange(b->size())) {
- if (mode & GeometryNodeCurveHandleMode::GEO_NODE_CURVE_HANDLE_LEFT) {
- r_selection[offset++] = b->handle_types_left()[i] == type;
- }
- else if (mode & GeometryNodeCurveHandleMode::GEO_NODE_CURVE_HANDLE_RIGHT) {
- r_selection[offset++] = b->handle_types_right()[i] == type;
- }
+ r_selection[offset++] = (mode & GeometryNodeCurveHandleMode::GEO_NODE_CURVE_HANDLE_LEFT &&
+ b->handle_types_left()[i] == type) ||
+ (mode & GeometryNodeCurveHandleMode::GEO_NODE_CURVE_HANDLE_RIGHT &&
+ b->handle_types_right()[i] == type);
}
}
}
More information about the Bf-blender-cvs
mailing list