[Bf-blender-cvs] [e294e7a99c3] temp-attribute-processor: fixes
Jacques Lucke
noreply at git.blender.org
Wed Jun 9 12:51:22 CEST 2021
Commit: e294e7a99c3a964d55e9d1153f3be7c42155328d
Author: Jacques Lucke
Date: Wed Jun 9 12:26:29 2021 +0200
Branches: temp-attribute-processor
https://developer.blender.org/rBe294e7a99c3a964d55e9d1153f3be7c42155328d
fixes
===================================================================
M source/blender/nodes/geometry/nodes/node_attr_set_attribute.cc
M source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_attr_set_attribute.cc b/source/blender/nodes/geometry/nodes/node_attr_set_attribute.cc
index 9b2c4a12ba7..a5f636ab1d1 100644
--- a/source/blender/nodes/geometry/nodes/node_attr_set_attribute.cc
+++ b/source/blender/nodes/geometry/nodes/node_attr_set_attribute.cc
@@ -54,7 +54,7 @@ void register_node_type_attr_set_attribute()
{
static bNodeType ntype;
- attr_node_type_base(&ntype, ATTR_NODE_SET_ATTRIBUTE, "Set Attribute", -1, 0);
+ attr_node_type_base(&ntype, ATTR_NODE_SET_ATTRIBUTE, "Set Attribute", NODE_CLASS_OUTPUT, 0);
node_type_socket_templates(&ntype, attr_node_set_attribute_in, nullptr);
node_type_storage(
&ntype, "NodeAttributeSetAttribute", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc b/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
index 878cffdce4b..ab5f99a7122 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_attribute_processor.cc
@@ -472,7 +472,7 @@ static bool prepare_group_outputs(const Span<DInputSocket> used_group_outputs,
}
auto attribute = std::make_unique<OutputAttribute>(
- component.attribute_try_get_for_output_only(attribute_name, domain, attribute_type));
+ component.attribute_try_get_for_output(attribute_name, domain, attribute_type));
if (!*attribute) {
/* Cannot create the output attribute. */
return false;
@@ -566,16 +566,15 @@ static void process_attributes(GeoNodeExecParams &geo_params, GeometrySet &geome
Span<const NodeRef *> output_nodes = root_tree_ref.nodes_by_type("NodeGroupOutput");
- if (output_nodes.size() != 1) {
- return;
- }
- const DNode output_node{&root_context, output_nodes[0]};
- if (output_node->inputs().size() <= 1) {
+ if (output_nodes.size() >= 2) {
return;
}
Vector<DInputSocket> used_group_outputs;
- for (const InputSocketRef *socket_ref : output_node->inputs().drop_back(1)) {
- used_group_outputs.append({&root_context, socket_ref});
+ if (output_nodes.size() == 1) {
+ const DNode output_node{&root_context, output_nodes[0]};
+ for (const InputSocketRef *socket_ref : output_node->inputs().drop_back(1)) {
+ used_group_outputs.append({&root_context, socket_ref});
+ }
}
tree.foreach_node_with_type("AttributeNodeSetAttribute", [&](const DNode dnode) {
NodeAttributeSetAttribute *storage = dnode->storage<NodeAttributeSetAttribute>();
More information about the Bf-blender-cvs
mailing list