[Bf-blender-cvs] [1700fde0dc3] temp-geometry-nodes-fields-prototype: Output anonymous attribute in select by handle node
Hans Goudey
noreply at git.blender.org
Fri Aug 6 22:30:25 CEST 2021
Commit: 1700fde0dc38359aabfff372b411431c8dc75df0
Author: Hans Goudey
Date: Fri Aug 6 12:45:21 2021 -0500
Branches: temp-geometry-nodes-fields-prototype
https://developer.blender.org/rB1700fde0dc38359aabfff372b411431c8dc75df0
Output anonymous attribute in select by handle node
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_curve_select_by_handle_type.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_select_by_handle_type.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_select_by_handle_type.cc
index fb21c05b0c0..84ee745869c 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_select_by_handle_type.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_select_by_handle_type.cc
@@ -25,12 +25,12 @@
static bNodeSocketTemplate geo_node_select_by_handle_type_in[] = {
{SOCK_GEOMETRY, N_("Geometry")},
- {SOCK_STRING, N_("Selection")},
{-1, ""},
};
static bNodeSocketTemplate geo_node_select_by_handle_type_out[] = {
{SOCK_GEOMETRY, N_("Geometry")},
+ {SOCK_BOOLEAN, N_("Selection")},
{-1, ""},
};
@@ -112,10 +112,11 @@ static void geo_node_select_by_handle_type_exec(GeoNodeExecParams params)
CurveComponent &curve_component = geometry_set.get_component_for_write<CurveComponent>();
const CurveEval *curve = curve_component.get_for_read();
+ AnonymousCustomDataLayerID *id = CustomData_anonymous_id_new("Selection");
+
if (curve != nullptr) {
- const std::string selection_name = params.extract_input<std::string>("Selection");
OutputAttribute_Typed<bool> selection =
- curve_component.attribute_try_get_for_output_only<bool>(selection_name, ATTR_DOMAIN_POINT);
+ curve_component.attribute_try_get_anonymous_for_output_only<bool>(*id, ATTR_DOMAIN_POINT);
if (selection) {
select_curve_by_handle_type(*curve, handle_type, mode, selection.as_span());
selection.save();
@@ -123,6 +124,9 @@ static void geo_node_select_by_handle_type_exec(GeoNodeExecParams params)
}
params.set_output("Geometry", std::move(geometry_set));
+ params.set_output(
+ "Selection",
+ bke::FieldRef<bool>(new bke::AnonymousAttributeField(*id, CPPType::get<bool>())));
}
} // namespace blender::nodes
More information about the Bf-blender-cvs
mailing list