Geometry Nodes: give bundle sockets the dynamic structure type
This allows storing fields etc. in bundles.
This commit is contained in:
@@ -31,7 +31,9 @@ static void node_declare(NodeDeclarationBuilder &b)
|
||||
const StringRef name = item.name ? item.name : "";
|
||||
const std::string identifier = CombineBundleItemsAccessor::socket_identifier_for_item(item);
|
||||
b.add_input(socket_type, name, identifier)
|
||||
.socket_name_ptr(&tree->id, CombineBundleItemsAccessor::item_srna, &item, "name");
|
||||
.socket_name_ptr(&tree->id, CombineBundleItemsAccessor::item_srna, &item, "name")
|
||||
.supports_field()
|
||||
.structure_type(StructureType::Dynamic);
|
||||
}
|
||||
}
|
||||
b.add_input<decl::Extend>("", "__extend__");
|
||||
|
||||
@@ -36,7 +36,8 @@ static void node_declare(NodeDeclarationBuilder &b)
|
||||
b.add_output(socket_type, name, identifier)
|
||||
.socket_name_ptr(&tree->id, SeparateBundleItemsAccessor::item_srna, &item, "name")
|
||||
.propagate_all()
|
||||
.reference_pass_all();
|
||||
.reference_pass_all()
|
||||
.structure_type(StructureType::Dynamic);
|
||||
}
|
||||
}
|
||||
b.add_output<decl::Extend>("", "__extend__");
|
||||
|
||||
Reference in New Issue
Block a user