diff --git a/scripts/startup/bl_operators/node.py b/scripts/startup/bl_operators/node.py index d975ba1421b..d3c5fa130f7 100644 --- a/scripts/startup/bl_operators/node.py +++ b/scripts/startup/bl_operators/node.py @@ -286,8 +286,8 @@ class NODE_OT_add_closure_zone(NodeAddZoneOperator, Operator): bl_label = "Add Closure Zone" bl_options = {'REGISTER', 'UNDO'} - input_node_type = "GeometryNodeClosureInput" - output_node_type = "GeometryNodeClosureOutput" + input_node_type = "NodeClosureInput" + output_node_type = "NodeClosureOutput" add_default_geometry_link = False diff --git a/scripts/startup/bl_ui/node_add_menu_geometry.py b/scripts/startup/bl_ui/node_add_menu_geometry.py index 9f001c6fb57..246d13b8bd2 100644 --- a/scripts/startup/bl_ui/node_add_menu_geometry.py +++ b/scripts/startup/bl_ui/node_add_menu_geometry.py @@ -750,8 +750,8 @@ class NODE_MT_category_utilities_bundle(Menu): def draw(self, context): layout = self.layout - node_add_menu.add_node_type(layout, "GeometryNodeCombineBundle") - node_add_menu.add_node_type(layout, "GeometryNodeSeparateBundle") + node_add_menu.add_node_type(layout, "NodeCombineBundle") + node_add_menu.add_node_type(layout, "NodeSeparateBundle") node_add_menu.draw_assets_for_catalog(layout, "Utilities/Bundle") @@ -762,7 +762,7 @@ class NODE_MT_category_utilities_closure(Menu): def draw(self, context): layout = self.layout node_add_menu.add_closure_zone(layout, label="Closure") - node_add_menu.add_node_type(layout, "GeometryNodeEvaluateClosure") + node_add_menu.add_node_type(layout, "NodeEvaluateClosure") node_add_menu.draw_assets_for_catalog(layout, "Utilities/Closure") diff --git a/source/blender/blenkernel/BKE_node_legacy_types.hh b/source/blender/blenkernel/BKE_node_legacy_types.hh index 524a8d2f195..553c25d1d7d 100644 --- a/source/blender/blenkernel/BKE_node_legacy_types.hh +++ b/source/blender/blenkernel/BKE_node_legacy_types.hh @@ -513,11 +513,11 @@ #define GEO_NODE_MERGE_LAYERS 2150 #define GEO_NODE_INPUT_COLLECTION 2151 #define GEO_NODE_INPUT_OBJECT 2152 -#define GEO_NODE_COMBINE_BUNDLE 2153 -#define GEO_NODE_SEPARATE_BUNDLE 2154 -#define GEO_NODE_CLOSURE_OUTPUT 2155 -#define GEO_NODE_EVALUATE_CLOSURE 2156 -#define GEO_NODE_CLOSURE_INPUT 2157 +#define NODE_COMBINE_BUNDLE 2153 +#define NODE_SEPARATE_BUNDLE 2154 +#define NODE_CLOSURE_OUTPUT 2155 +#define NODE_EVALUATE_CLOSURE 2156 +#define NODE_CLOSURE_INPUT 2157 /** \} */ diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc index 512da46f1d6..2edf5aaca90 100644 --- a/source/blender/blenkernel/intern/node.cc +++ b/source/blender/blenkernel/intern/node.cc @@ -1617,6 +1617,27 @@ static void node_blend_read_data_storage(BlendDataReader *reader, bNodeTree *ntr } } +/** + * Update idnames of nodes. Note that this is *not* forward-compatible and thus should only be done + * if the node was not officially released yet. It's ok to add it here while it's still an + * experimental feature. + */ +static void node_update_idname_from_experimental(bNode &node) +{ + static Map idname_map = []() { + Map map; + map.add("GeometryNodeEvaluateClosure", "NodeEvaluateClosure"); + map.add("GeometryNodeClosureInput", "NodeClosureInput"); + map.add("GeometryNodeClosureOutput", "NodeClosureOutput"); + map.add("GeometryNodeCombineBundle", "NodeCombineBundle"); + map.add("GeometryNodeSeparateBundle", "NodeSeparateBundle"); + return map; + }(); + if (const std::string *new_idname = idname_map.lookup_ptr_as(node.idname)) { + STRNCPY_UTF8(node.idname, new_idname->c_str()); + } +} + void node_tree_blend_read_data(BlendDataReader *reader, ID *owner_id, bNodeTree *ntree) { /* Special case for this pointer, do not rely on regular `lib_link` process here. Avoids needs @@ -1657,6 +1678,7 @@ void node_tree_blend_read_data(BlendDataReader *reader, ID *owner_id, bNodeTree BLO_read_struct_list(reader, bNode, &ntree->nodes); int i; LISTBASE_FOREACH_INDEX (bNode *, node, &ntree->nodes, i) { + node_update_idname_from_experimental(*node); node->runtime = MEM_new(__func__); node->typeinfo = nullptr; node->runtime->index_in_tree = i; diff --git a/source/blender/blenkernel/intern/node_tree_reference_lifetimes.cc b/source/blender/blenkernel/intern/node_tree_reference_lifetimes.cc index dc49d8636df..b74f61e24d6 100644 --- a/source/blender/blenkernel/intern/node_tree_reference_lifetimes.cc +++ b/source/blender/blenkernel/intern/node_tree_reference_lifetimes.cc @@ -295,18 +295,18 @@ static Vector find_reference_sets( } /* Each output of the Evaluate Closure node may reference data in any other output. We can't know * exactly what references what here. */ - for (const bNode *node : tree.nodes_by_type("GeometryNodeEvaluateClosure")) { - const auto &storage = *static_cast(node->storage); + for (const bNode *node : tree.nodes_by_type("NodeEvaluateClosure")) { + const auto &storage = *static_cast(node->storage); Vector reference_outputs; for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = storage.output_items.items[i]; if (can_contain_referenced_data(eNodeSocketDatatype(item.socket_type))) { reference_outputs.append(&node->output_socket(i)); } } if (!reference_outputs.is_empty()) { for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = storage.output_items.items[i]; if (can_contain_reference(eNodeSocketDatatype(item.socket_type))) { reference_sets.append({ReferenceSetType::LocalReferenceSet, &node->output_socket(i)}); reference_sets.last().potential_data_origins.extend(reference_outputs); @@ -322,10 +322,10 @@ static Vector find_reference_sets( for (const bNodeTreeZone *zone : zones->zones) { const bNode &input_node = *zone->input_node(); const bNode &output_node = *zone->output_node(); - if (output_node.type_legacy != GEO_NODE_CLOSURE_OUTPUT) { + if (output_node.type_legacy != NODE_CLOSURE_OUTPUT) { continue; } - const auto &storage = *static_cast(output_node.storage); + const auto &storage = *static_cast(output_node.storage); const int old_reference_sets_count = reference_sets.size(); /* Handle references coming from field inputs in the closure. */ for (const int input_i : IndexRange(storage.input_items.items_num)) { @@ -514,7 +514,7 @@ static bool pass_left_to_right(const bNodeTree &tree, } break; } - case GEO_NODE_CLOSURE_INPUT: { + case NODE_CLOSURE_INPUT: { const bNodeTreeZone *zone = get_zone_of_node_if_full(zones, *node); if (!zone) { break; @@ -530,7 +530,7 @@ static bool pass_left_to_right(const bNodeTree &tree, } break; } - case GEO_NODE_CLOSURE_OUTPUT: { + case NODE_CLOSURE_OUTPUT: { const bNodeTreeZone *zone = get_zone_of_node_if_full(zones, *node); if (!zone) { break; @@ -548,7 +548,7 @@ static bool pass_left_to_right(const bNodeTree &tree, } break; } - case GEO_NODE_EVALUATE_CLOSURE: { + case NODE_EVALUATE_CLOSURE: { BitVector<> potential_input_references(r_potential_reference_by_socket.group_size()); BitVector<> potential_input_data(r_potential_data_by_socket.group_size()); /* Gather all references and data from all inputs, including the once on the closure input. @@ -668,7 +668,7 @@ static void prepare_required_data_for_closure_outputs( continue; } const bNode &output_node = *zone->output_node(); - if (output_node.type_legacy != GEO_NODE_CLOSURE_OUTPUT) { + if (output_node.type_legacy != NODE_CLOSURE_OUTPUT) { continue; } const Span closure_output_set_sources = output_set_sources_by_closure_zone.lookup(zone); @@ -838,7 +838,7 @@ static bool pass_right_to_left(const bNodeTree &tree, } break; } - case GEO_NODE_EVALUATE_CLOSURE: { + case NODE_EVALUATE_CLOSURE: { /* Data referenced by the closure is required on all the other inputs. */ const bNodeSocket &closure_socket = node->input_socket(0); BitVector<> required_data_on_inputs = @@ -853,7 +853,7 @@ static bool pass_right_to_left(const bNodeTree &tree, } break; } - case GEO_NODE_CLOSURE_OUTPUT: { + case NODE_CLOSURE_OUTPUT: { const bNodeTreeZone *zone = get_zone_of_node_if_full(zones, *node); if (!zone) { break; diff --git a/source/blender/blenkernel/intern/node_tree_structure_type_inferencing.cc b/source/blender/blenkernel/intern/node_tree_structure_type_inferencing.cc index acb870749da..0fc4576e303 100644 --- a/source/blender/blenkernel/intern/node_tree_structure_type_inferencing.cc +++ b/source/blender/blenkernel/intern/node_tree_structure_type_inferencing.cc @@ -133,7 +133,7 @@ static void init_input_requirements(const bNodeTree &tree, MutableSpan input_requirements) { for (const bNode *node : tree.all_nodes()) { - if (ELEM(node->type_legacy, NODE_GROUP_OUTPUT, GEO_NODE_CLOSURE_OUTPUT)) { + if (ELEM(node->type_legacy, NODE_GROUP_OUTPUT, NODE_CLOSURE_OUTPUT)) { for (const bNodeSocket *socket : node->input_sockets()) { /* Inputs of these nodes have no requirements. */ input_requirements[socket->index_in_all_inputs()] = DataRequirement::None; @@ -236,12 +236,12 @@ static void store_closure_input_structure_types(const bNodeTree &tree, if (!input_node || !output_node) { continue; } - if (!output_node->is_type("GeometryNodeClosureOutput")) { + if (!output_node->is_type("NodeClosureOutput")) { continue; } - const auto *storage = static_cast(output_node->storage); + const auto *storage = static_cast(output_node->storage); for (const int i : IndexRange(storage->input_items.items_num)) { - const NodeGeometryClosureInputItem &item = storage->input_items.items[i]; + const NodeClosureInputItem &item = storage->input_items.items[i]; const bNodeSocket &socket = input_node->output_socket(i); StructureType &structure_type = structure_types[socket.index_in_tree()]; if (item.structure_type != NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_AUTO) { @@ -640,7 +640,7 @@ static void propagate_left_to_right(const bNodeTree &tree, } continue; } - if (node->type_legacy == GEO_NODE_CLOSURE_INPUT) { + if (node->type_legacy == NODE_CLOSURE_INPUT) { /* Initialized in #store_closure_input_structure_types already. */ continue; } diff --git a/source/blender/blenkernel/intern/node_tree_update.cc b/source/blender/blenkernel/intern/node_tree_update.cc index 252a6ba3d4a..47e41a9dec9 100644 --- a/source/blender/blenkernel/intern/node_tree_update.cc +++ b/source/blender/blenkernel/intern/node_tree_update.cc @@ -961,7 +961,7 @@ class NodeTreeMainUpdater { } /* For input/output nodes we use the inferred structure types. */ if (node->is_group_input() || node->is_group_output() || - ELEM(node->type_legacy, GEO_NODE_CLOSURE_INPUT, GEO_NODE_CLOSURE_OUTPUT)) + ELEM(node->type_legacy, NODE_CLOSURE_INPUT, NODE_CLOSURE_OUTPUT)) { for (bNodeSocket *socket : node->input_sockets()) { socket->display_shape = get_input_socket_shape( diff --git a/source/blender/blenloader/intern/versioning_500.cc b/source/blender/blenloader/intern/versioning_500.cc index 27e46245113..87cb22c34a6 100644 --- a/source/blender/blenloader/intern/versioning_500.cc +++ b/source/blender/blenloader/intern/versioning_500.cc @@ -165,16 +165,16 @@ static void rename_mesh_uv_seam_attribute(Mesh &mesh) static void initialize_closure_input_structure_types(bNodeTree &ntree) { LISTBASE_FOREACH (bNode *, node, &ntree.nodes) { - if (node->type_legacy == GEO_NODE_EVALUATE_CLOSURE) { - auto *storage = static_cast(node->storage); + if (node->type_legacy == NODE_EVALUATE_CLOSURE) { + auto *storage = static_cast(node->storage); for (const int i : blender::IndexRange(storage->input_items.items_num)) { - NodeGeometryEvaluateClosureInputItem &item = storage->input_items.items[i]; + NodeEvaluateClosureInputItem &item = storage->input_items.items[i]; if (item.structure_type == NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_AUTO) { item.structure_type = NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_DYNAMIC; } } for (const int i : blender::IndexRange(storage->output_items.items_num)) { - NodeGeometryEvaluateClosureOutputItem &item = storage->output_items.items[i]; + NodeEvaluateClosureOutputItem &item = storage->output_items.items[i]; if (item.structure_type == NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_AUTO) { item.structure_type = NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_DYNAMIC; } diff --git a/source/blender/blenloader/intern/versioning_dna.cc b/source/blender/blenloader/intern/versioning_dna.cc index 688fabf65ff..e7ef65cc7ce 100644 --- a/source/blender/blenloader/intern/versioning_dna.cc +++ b/source/blender/blenloader/intern/versioning_dna.cc @@ -33,5 +33,32 @@ void blo_do_versions_dna(SDNA *sdna, const int versionfile, const int subversion } } + if (!DNA_VERSION_ATLEAST(500, 51)) { + /* These old struct names were only used by an experimental feature. They were renamed before + * the feature became official. This versioning just allows to read old files but does not + * provide forward compatibility. */ + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryClosureInput", "NodeClosureInput"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryClosureInputItem", "NodeClosureInputItem"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryClosureOutputItem", "NodeClosureOutputItem"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryClosureInputItems", "NodeClosureInputItems"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometryClosureOutputItems", "NodeClosureOutputItems"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryClosureOutput", "NodeClosureOutput"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometryEvaluateClosureInputItem", "NodeEvaluateClosureInputItem"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometryEvaluateClosureOutputItem", "NodeEvaluateClosureOutputItem"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometryEvaluateClosureInputItems", "NodeEvaluateClosureInputItems"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometryEvaluateClosureOutputItems", "NodeEvaluateClosureOutputItems"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryEvaluateClosure", "NodeEvaluateClosure"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryCombineBundleItem", "NodeCombineBundleItem"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometryCombineBundle", "NodeCombineBundle"); + DNA_sdna_patch_struct_by_name( + sdna, "NodeGeometrySeparateBundleItem", "NodeSeparateBundleItem"); + DNA_sdna_patch_struct_by_name(sdna, "NodeGeometrySeparateBundle", "NodeSeparateBundle"); + } + #undef DNA_VERSION_ATLEAST } diff --git a/source/blender/editors/space_node/node_draw.cc b/source/blender/editors/space_node/node_draw.cc index 1aea3ad06d2..b4314681d7e 100644 --- a/source/blender/editors/space_node/node_draw.cc +++ b/source/blender/editors/space_node/node_draw.cc @@ -2449,7 +2449,7 @@ static Vector node_get_extra_info(const bContext &C, GEO_NODE_SIMULATION_OUTPUT, GEO_NODE_REPEAT_OUTPUT, GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT, - GEO_NODE_EVALUATE_CLOSURE) || + NODE_EVALUATE_CLOSURE) || StringRef(node.idname).startswith("GeometryNodeImport"))) { std::optional row = node_get_execution_time_label_row( diff --git a/source/blender/editors/space_node/space_node.cc b/source/blender/editors/space_node/space_node.cc index a0161ce6ae0..2af4f2eae11 100644 --- a/source/blender/editors/space_node/space_node.cc +++ b/source/blender/editors/space_node/space_node.cc @@ -404,7 +404,7 @@ const ComputeContext *compute_context_for_zone(const bke::bNodeTreeZone &zone, return &compute_context_cache.for_foreach_geometry_element_zone( parent_compute_context, output_node, storage.inspection_index); } - case GEO_NODE_CLOSURE_OUTPUT: { + case NODE_CLOSURE_OUTPUT: { nodes::ClosureSourceLocation source_location{}; const bNodeTree &tree = output_node.owner_tree(); source_location.tree = &tree; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index f4fc6fdd0e4..9d7163088c4 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -2200,12 +2200,12 @@ typedef struct NodeGeometryForeachGeometryElementOutput { char _pad[3]; } NodeGeometryForeachGeometryElementOutput; -typedef struct NodeGeometryClosureInput { +typedef struct NodeClosureInput { /** bNode.identifier of the corresponding output node. */ int32_t output_node_id; -} NodeGeometryClosureInput; +} NodeClosureInput; -typedef struct NodeGeometryClosureInputItem { +typedef struct NodeClosureInputItem { char *name; /** #eNodeSocketDatatype. */ short socket_type; @@ -2213,38 +2213,38 @@ typedef struct NodeGeometryClosureInputItem { int8_t structure_type; char _pad[1]; int identifier; -} NodeGeometryClosureInputItem; +} NodeClosureInputItem; -typedef struct NodeGeometryClosureOutputItem { +typedef struct NodeClosureOutputItem { char *name; /** #eNodeSocketDatatype. */ short socket_type; char _pad[2]; int identifier; -} NodeGeometryClosureOutputItem; +} NodeClosureOutputItem; -typedef struct NodeGeometryClosureInputItems { - NodeGeometryClosureInputItem *items; +typedef struct NodeClosureInputItems { + NodeClosureInputItem *items; int items_num; int active_index; int next_identifier; char _pad[4]; -} NodeGeometryClosureInputItems; +} NodeClosureInputItems; -typedef struct NodeGeometryClosureOutputItems { - NodeGeometryClosureOutputItem *items; +typedef struct NodeClosureOutputItems { + NodeClosureOutputItem *items; int items_num; int active_index; int next_identifier; char _pad[4]; -} NodeGeometryClosureOutputItems; +} NodeClosureOutputItems; -typedef struct NodeGeometryClosureOutput { - NodeGeometryClosureInputItems input_items; - NodeGeometryClosureOutputItems output_items; -} NodeGeometryClosureOutput; +typedef struct NodeClosureOutput { + NodeClosureInputItems input_items; + NodeClosureOutputItems output_items; +} NodeClosureOutput; -typedef struct NodeGeometryEvaluateClosureInputItem { +typedef struct NodeEvaluateClosureInputItem { char *name; /** #eNodeSocketDatatype */ short socket_type; @@ -2252,9 +2252,9 @@ typedef struct NodeGeometryEvaluateClosureInputItem { int8_t structure_type; char _pad[1]; int identifier; -} NodeGeometryEvaluateClosureInputItem; +} NodeEvaluateClosureInputItem; -typedef struct NodeGeometryEvaluateClosureOutputItem { +typedef struct NodeEvaluateClosureOutputItem { char *name; /** #eNodeSocketDatatype */ short socket_type; @@ -2262,28 +2262,28 @@ typedef struct NodeGeometryEvaluateClosureOutputItem { int8_t structure_type; char _pad[1]; int identifier; -} NodeGeometryEvaluateClosureOutputItem; +} NodeEvaluateClosureOutputItem; -typedef struct NodeGeometryEvaluateClosureInputItems { - NodeGeometryEvaluateClosureInputItem *items; +typedef struct NodeEvaluateClosureInputItems { + NodeEvaluateClosureInputItem *items; int items_num; int active_index; int next_identifier; char _pad[4]; -} NodeGeometryEvaluateClosureInputItems; +} NodeEvaluateClosureInputItems; -typedef struct NodeGeometryEvaluateClosureOutputItems { - NodeGeometryEvaluateClosureOutputItem *items; +typedef struct NodeEvaluateClosureOutputItems { + NodeEvaluateClosureOutputItem *items; int items_num; int active_index; int next_identifier; char _pad[4]; -} NodeGeometryEvaluateClosureOutputItems; +} NodeEvaluateClosureOutputItems; -typedef struct NodeGeometryEvaluateClosure { - NodeGeometryEvaluateClosureInputItems input_items; - NodeGeometryEvaluateClosureOutputItems output_items; -} NodeGeometryEvaluateClosure; +typedef struct NodeEvaluateClosure { + NodeEvaluateClosureInputItems input_items; + NodeEvaluateClosureOutputItems output_items; +} NodeEvaluateClosure; typedef struct IndexSwitchItem { /** Generated unique identifier which stays the same even when the item order or names change. */ @@ -2399,35 +2399,35 @@ typedef struct NodeGeometryBake { char _pad[4]; } NodeGeometryBake; -typedef struct NodeGeometryCombineBundleItem { +typedef struct NodeCombineBundleItem { char *name; int identifier; int16_t socket_type; char _pad[2]; -} NodeGeometryCombineBundleItem; +} NodeCombineBundleItem; -typedef struct NodeGeometryCombineBundle { - NodeGeometryCombineBundleItem *items; +typedef struct NodeCombineBundle { + NodeCombineBundleItem *items; int items_num; int next_identifier; int active_index; char _pad[4]; -} NodeGeometryCombineBundle; +} NodeCombineBundle; -typedef struct NodeGeometrySeparateBundleItem { +typedef struct NodeSeparateBundleItem { char *name; int identifier; int16_t socket_type; char _pad[2]; -} NodeGeometrySeparateBundleItem; +} NodeSeparateBundleItem; -typedef struct NodeGeometrySeparateBundle { - NodeGeometrySeparateBundleItem *items; +typedef struct NodeSeparateBundle { + NodeSeparateBundleItem *items; int items_num; int next_identifier; int active_index; char _pad[4]; -} NodeGeometrySeparateBundle; +} NodeSeparateBundle; typedef struct NodeFunctionFormatStringItem { char *name; diff --git a/source/blender/makesrna/intern/rna_nodetree.cc b/source/blender/makesrna/intern/rna_nodetree.cc index 59a3720c00c..1676cc43633 100644 --- a/source/blender/makesrna/intern/rna_nodetree.cc +++ b/source/blender/makesrna/intern/rna_nodetree.cc @@ -8000,7 +8000,7 @@ static void def_common_zone_input(BlenderRNA * /*brna*/, StructRNA *srna) RNA_def_function_ui_description(func, "Pair a zone input node with an output node."); RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_REPORTS | FUNC_USE_CONTEXT); parm = RNA_def_pointer( - func, "output_node", "GeometryNode", "Output Node", "Zone output node to pair with"); + func, "output_node", "NodeInternal", "Output Node", "Zone output node to pair with"); RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED); /* return value */ parm = RNA_def_boolean( @@ -8029,9 +8029,9 @@ static void def_geo_foreach_geometry_element_input(BlenderRNA *brna, StructRNA * def_common_zone_input(brna, srna); } -static void def_geo_closure_input(BlenderRNA *brna, StructRNA *srna) +static void def_closure_input(BlenderRNA *brna, StructRNA *srna) { - RNA_def_struct_sdna_from(srna, "NodeGeometryClosureInput", "storage"); + RNA_def_struct_sdna_from(srna, "NodeClosureInput", "storage"); def_common_zone_input(brna, srna); } @@ -8433,14 +8433,14 @@ static void def_geo_foreach_geometry_element_output(BlenderRNA *brna, StructRNA RNA_def_property_update(prop, NC_NODE, "rna_Node_update"); } -static void rna_def_geo_closure_input_item(BlenderRNA *brna) +static void rna_def_closure_input_item(BlenderRNA *brna) { StructRNA *srna; PropertyRNA *prop; - srna = RNA_def_struct(brna, "NodeGeometryClosureInputItem", nullptr); + srna = RNA_def_struct(brna, "NodeClosureInputItem", nullptr); RNA_def_struct_ui_text(srna, "Closure Input Item", ""); - RNA_def_struct_sdna(srna, "NodeGeometryClosureInputItem"); + RNA_def_struct_sdna(srna, "NodeClosureInputItem"); rna_def_node_item_array_socket_item_common(srna, "ClosureInputItemsAccessor", true); @@ -8454,60 +8454,60 @@ static void rna_def_geo_closure_input_item(BlenderRNA *brna) prop, NC_NODE | NA_EDITED, "rna_Node_ItemArray_item_update"); } -static void rna_def_geo_closure_input_items(BlenderRNA *brna) +static void rna_def_closure_input_items(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometryClosureInputItems", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeClosureInputItems", nullptr); RNA_def_struct_ui_text(srna, "Closure Input Items", ""); RNA_def_struct_sdna(srna, "bNode"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometryClosureInputItem", "ClosureInputItemsAccessor"); + srna, "NodeClosureInputItem", "ClosureInputItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometryClosureInputItem", "ClosureInputItemsAccessor"); + srna, "NodeClosureInputItem", "ClosureInputItemsAccessor"); } -static void rna_def_geo_closure_output_item(BlenderRNA *brna) +static void rna_def_closure_output_item(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometryClosureOutputItem", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeClosureOutputItem", nullptr); RNA_def_struct_ui_text(srna, "Closure Output Item", ""); - RNA_def_struct_sdna(srna, "NodeGeometryClosureOutputItem"); + RNA_def_struct_sdna(srna, "NodeClosureOutputItem"); rna_def_node_item_array_socket_item_common(srna, "ClosureOutputItemsAccessor", true); } -static void rna_def_geo_closure_output_items(BlenderRNA *brna) +static void rna_def_closure_output_items(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometryClosureOutputItems", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeClosureOutputItems", nullptr); RNA_def_struct_ui_text(srna, "Closure Output Items", ""); RNA_def_struct_sdna(srna, "bNode"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometryClosureOutputItem", "ClosureOutputItemsAccessor"); + srna, "NodeClosureOutputItem", "ClosureOutputItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometryClosureOutputItem", "ClosureOutputItemsAccessor"); + srna, "NodeClosureOutputItem", "ClosureOutputItemsAccessor"); } -static void def_geo_closure_output(BlenderRNA *brna, StructRNA *srna) +static void def_closure_output(BlenderRNA *brna, StructRNA *srna) { PropertyRNA *prop; - rna_def_geo_closure_input_item(brna); - rna_def_geo_closure_input_items(brna); + rna_def_closure_input_item(brna); + rna_def_closure_input_items(brna); - rna_def_geo_closure_output_item(brna); - rna_def_geo_closure_output_items(brna); + rna_def_closure_output_item(brna); + rna_def_closure_output_items(brna); - RNA_def_struct_sdna_from(srna, "NodeGeometryClosureOutput", "storage"); + RNA_def_struct_sdna_from(srna, "NodeClosureOutput", "storage"); prop = RNA_def_property(srna, "input_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "input_items.items", "input_items.items_num"); - RNA_def_property_struct_type(prop, "NodeGeometryClosureInputItem"); - RNA_def_property_srna(prop, "NodeGeometryClosureInputItems"); + RNA_def_property_struct_type(prop, "NodeClosureInputItem"); + RNA_def_property_srna(prop, "NodeClosureInputItems"); prop = RNA_def_property(srna, "output_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "output_items.items", "output_items.items_num"); - RNA_def_property_struct_type(prop, "NodeGeometryClosureOutputItem"); - RNA_def_property_srna(prop, "NodeGeometryClosureOutputItems"); + RNA_def_property_struct_type(prop, "NodeClosureOutputItem"); + RNA_def_property_srna(prop, "NodeClosureOutputItems"); prop = RNA_def_property(srna, "active_input_index", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, nullptr, "input_items.active_index"); @@ -8594,12 +8594,12 @@ static void rna_def_geo_capture_attribute(BlenderRNA *brna, StructRNA *srna) RNA_def_property_update(prop, NC_NODE, "rna_Node_update"); } -static void rna_def_geo_evaluate_closure_input_item(BlenderRNA *brna) +static void rna_def_evaluate_closure_input_item(BlenderRNA *brna) { StructRNA *srna; PropertyRNA *prop; - srna = RNA_def_struct(brna, "NodeGeometryEvaluateClosureInputItem", nullptr); + srna = RNA_def_struct(brna, "NodeEvaluateClosureInputItem", nullptr); RNA_def_struct_ui_text(srna, "Input Item", ""); rna_def_node_item_array_socket_item_common(srna, "EvaluateClosureInputItemsAccessor", true); @@ -8616,26 +8616,26 @@ static void rna_def_geo_evaluate_closure_input_item(BlenderRNA *brna) "rna_Node_ItemArray_item_update"); } -static void rna_def_geo_evaluate_closure_input_items(BlenderRNA *brna) +static void rna_def_evaluate_closure_input_items(BlenderRNA *brna) { StructRNA *srna; - srna = RNA_def_struct(brna, "NodeGeometryEvaluateClosureInputItems", nullptr); + srna = RNA_def_struct(brna, "NodeEvaluateClosureInputItems", nullptr); RNA_def_struct_ui_text(srna, "Input Items", ""); RNA_def_struct_sdna(srna, "bNode"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometryEvaluateClosureInputItem", "EvaluateClosureInputItemsAccessor"); + srna, "NodeEvaluateClosureInputItem", "EvaluateClosureInputItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometryEvaluateClosureInputItem", "EvaluateClosureInputItemsAccessor"); + srna, "NodeEvaluateClosureInputItem", "EvaluateClosureInputItemsAccessor"); } -static void rna_def_geo_evaluate_closure_output_item(BlenderRNA *brna) +static void rna_def_evaluate_closure_output_item(BlenderRNA *brna) { StructRNA *srna; PropertyRNA *prop; - srna = RNA_def_struct(brna, "NodeGeometryEvaluateClosureOutputItem", nullptr); + srna = RNA_def_struct(brna, "NodeEvaluateClosureOutputItem", nullptr); RNA_def_struct_ui_text(srna, "Output Item", ""); rna_def_node_item_array_socket_item_common(srna, "EvaluateClosureOutputItemsAccessor", true); @@ -8652,43 +8652,43 @@ static void rna_def_geo_evaluate_closure_output_item(BlenderRNA *brna) "rna_Node_ItemArray_item_update"); } -static void rna_def_geo_evaluate_closure_output_items(BlenderRNA *brna) +static void rna_def_evaluate_closure_output_items(BlenderRNA *brna) { StructRNA *srna; - srna = RNA_def_struct(brna, "NodeGeometryEvaluateClosureOutputItems", nullptr); + srna = RNA_def_struct(brna, "NodeEvaluateClosureOutputItems", nullptr); RNA_def_struct_ui_text(srna, "Output Items", ""); RNA_def_struct_sdna(srna, "bNode"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometryEvaluateClosureOutputItem", "EvaluateClosureOutputItemsAccessor"); + srna, "NodeEvaluateClosureOutputItem", "EvaluateClosureOutputItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometryEvaluateClosureOutputItem", "EvaluateClosureOutputItemsAccessor"); + srna, "NodeEvaluateClosureOutputItem", "EvaluateClosureOutputItemsAccessor"); } -static void def_geo_evaluate_closure(BlenderRNA *brna, StructRNA *srna) +static void def_evaluate_closure(BlenderRNA *brna, StructRNA *srna) { PropertyRNA *prop; - rna_def_geo_evaluate_closure_input_item(brna); - rna_def_geo_evaluate_closure_input_items(brna); + rna_def_evaluate_closure_input_item(brna); + rna_def_evaluate_closure_input_items(brna); - rna_def_geo_evaluate_closure_output_item(brna); - rna_def_geo_evaluate_closure_output_items(brna); + rna_def_evaluate_closure_output_item(brna); + rna_def_evaluate_closure_output_items(brna); - RNA_def_struct_sdna_from(srna, "NodeGeometryEvaluateClosure", "storage"); + RNA_def_struct_sdna_from(srna, "NodeEvaluateClosure", "storage"); prop = RNA_def_property(srna, "input_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "input_items.items", "input_items.items_num"); - RNA_def_property_struct_type(prop, "NodeGeometryEvaluateClosureInputItem"); + RNA_def_property_struct_type(prop, "NodeEvaluateClosureInputItem"); RNA_def_property_ui_text(prop, "Input Items", ""); - RNA_def_property_srna(prop, "NodeGeometryEvaluateClosureInputItems"); + RNA_def_property_srna(prop, "NodeEvaluateClosureInputItems"); prop = RNA_def_property(srna, "output_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "output_items.items", "output_items.items_num"); - RNA_def_property_struct_type(prop, "NodeGeometryEvaluateClosureOutputItem"); + RNA_def_property_struct_type(prop, "NodeEvaluateClosureOutputItem"); RNA_def_property_ui_text(prop, "Output Items", ""); - RNA_def_property_srna(prop, "NodeGeometryEvaluateClosureOutputItems"); + RNA_def_property_srna(prop, "NodeEvaluateClosureOutputItems"); prop = RNA_def_property(srna, "active_input_index", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, nullptr, "input_items.active_index"); @@ -8780,40 +8780,40 @@ static void rna_def_geo_bake(BlenderRNA *brna, StructRNA *srna) RNA_def_property_update(prop, NC_NODE, nullptr); } -static void rna_def_geo_combine_bundle_item(BlenderRNA *brna) +static void rna_def_combine_bundle_item(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometryCombineBundleItem", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeCombineBundleItem", nullptr); RNA_def_struct_ui_text(srna, "Combine Bundle Item", ""); rna_def_node_item_array_socket_item_common(srna, "CombineBundleItemsAccessor", true); } -static void rna_def_geo_combine_bundle_items(BlenderRNA *brna) +static void rna_def_combine_bundle_items(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometryCombineBundleItems", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeCombineBundleItems", nullptr); RNA_def_struct_sdna(srna, "bNode"); RNA_def_struct_ui_text(srna, "Items", "Collection of combine bundle items"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometryCombineBundleItem", "CombineBundleItemsAccessor"); + srna, "NodeCombineBundleItem", "CombineBundleItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometryCombineBundleItem", "CombineBundleItemsAccessor"); + srna, "NodeCombineBundleItem", "CombineBundleItemsAccessor"); } -static void rna_def_geo_combine_bundle(BlenderRNA *brna, StructRNA *srna) +static void def_combine_bundle(BlenderRNA *brna, StructRNA *srna) { PropertyRNA *prop; - rna_def_geo_combine_bundle_item(brna); - rna_def_geo_combine_bundle_items(brna); + rna_def_combine_bundle_item(brna); + rna_def_combine_bundle_items(brna); - RNA_def_struct_sdna_from(srna, "NodeGeometryCombineBundle", "storage"); + RNA_def_struct_sdna_from(srna, "NodeCombineBundle", "storage"); prop = RNA_def_property(srna, "bundle_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "items", "items_num"); - RNA_def_property_struct_type(prop, "NodeGeometryCombineBundleItem"); + RNA_def_property_struct_type(prop, "NodeCombineBundleItem"); RNA_def_property_ui_text(prop, "Items", ""); - RNA_def_property_srna(prop, "NodeGeometryCombineBundleItems"); + RNA_def_property_srna(prop, "NodeCombineBundleItems"); prop = RNA_def_property(srna, "active_index", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, nullptr, "active_index"); @@ -8823,40 +8823,40 @@ static void rna_def_geo_combine_bundle(BlenderRNA *brna, StructRNA *srna) RNA_def_property_update(prop, NC_NODE, nullptr); } -static void rna_def_geo_separate_bundle_item(BlenderRNA *brna) +static void rna_def_separate_bundle_item(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometrySeparateBundleItem", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeSeparateBundleItem", nullptr); RNA_def_struct_ui_text(srna, "Separate Bundle Item", ""); rna_def_node_item_array_socket_item_common(srna, "SeparateBundleItemsAccessor", true); } -static void rna_def_geo_separate_bundle_items(BlenderRNA *brna) +static void rna_def_separate_bundle_items(BlenderRNA *brna) { - StructRNA *srna = RNA_def_struct(brna, "NodeGeometrySeparateBundleItems", nullptr); + StructRNA *srna = RNA_def_struct(brna, "NodeSeparateBundleItems", nullptr); RNA_def_struct_sdna(srna, "bNode"); RNA_def_struct_ui_text(srna, "Items", "Collection of separate bundle items"); rna_def_node_item_array_new_with_socket_and_name( - srna, "NodeGeometrySeparateBundleItem", "SeparateBundleItemsAccessor"); + srna, "NodeSeparateBundleItem", "SeparateBundleItemsAccessor"); rna_def_node_item_array_common_functions( - srna, "NodeGeometrySeparateBundleItem", "SeparateBundleItemsAccessor"); + srna, "NodeSeparateBundleItem", "SeparateBundleItemsAccessor"); } -static void rna_def_geo_separate_bundle(BlenderRNA *brna, StructRNA *srna) +static void def_separate_bundle(BlenderRNA *brna, StructRNA *srna) { PropertyRNA *prop; - rna_def_geo_separate_bundle_item(brna); - rna_def_geo_separate_bundle_items(brna); + rna_def_separate_bundle_item(brna); + rna_def_separate_bundle_items(brna); - RNA_def_struct_sdna_from(srna, "NodeGeometrySeparateBundle", "storage"); + RNA_def_struct_sdna_from(srna, "NodeSeparateBundle", "storage"); prop = RNA_def_property(srna, "bundle_items", PROP_COLLECTION, PROP_NONE); RNA_def_property_collection_sdna(prop, nullptr, "items", "items_num"); - RNA_def_property_struct_type(prop, "NodeGeometrySeparateBundleItem"); + RNA_def_property_struct_type(prop, "NodeSeparateBundleItem"); RNA_def_property_ui_text(prop, "Items", ""); - RNA_def_property_srna(prop, "NodeGeometrySeparateBundleItems"); + RNA_def_property_srna(prop, "NodeSeparateBundleItems"); prop = RNA_def_property(srna, "active_index", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, nullptr, "active_index"); @@ -10544,6 +10544,12 @@ static void rna_def_nodes(BlenderRNA *brna) define("NodeInternal", "NodeGroupOutput", def_group_output); define("NodeInternal", "NodeReroute", def_reroute); + define("NodeInternal", "NodeClosureInput", def_closure_input); + define("NodeInternal", "NodeClosureOutput", def_closure_output); + define("NodeInternal", "NodeCombineBundle", def_combine_bundle); + define("NodeInternal", "NodeEvaluateClosure", def_evaluate_closure); + define("NodeInternal", "NodeSeparateBundle", def_separate_bundle); + define("ShaderNode", "ShaderNodeAddShader"); define("ShaderNode", "ShaderNodeAmbientOcclusion", def_sh_ambient_occlusion); define("ShaderNode", "ShaderNodeAttribute", def_sh_attribute); @@ -10825,10 +10831,8 @@ static void rna_def_nodes(BlenderRNA *brna) define("GeometryNode", "GeometryNodeBoundBox"); define("GeometryNode", "GeometryNodeCameraInfo"); define("GeometryNode", "GeometryNodeCaptureAttribute", rna_def_geo_capture_attribute); - define("GeometryNode", "GeometryNodeClosureInput", def_geo_closure_input); - define("GeometryNode", "GeometryNodeClosureOutput", def_geo_closure_output); + define("GeometryNode", "GeometryNodeCollectionInfo"); - define("GeometryNode", "GeometryNodeCombineBundle", rna_def_geo_combine_bundle); define("GeometryNode", "GeometryNodeConvexHull"); define("GeometryNode", "GeometryNodeCornersOfEdge"); define("GeometryNode", "GeometryNodeCornersOfFace"); @@ -10862,7 +10866,6 @@ static void rna_def_nodes(BlenderRNA *brna) define("GeometryNode", "GeometryNodeEdgesOfCorner"); define("GeometryNode", "GeometryNodeEdgesOfVertex"); define("GeometryNode", "GeometryNodeEdgesToFaceGroups"); - define("GeometryNode", "GeometryNodeEvaluateClosure", def_geo_evaluate_closure); define("GeometryNode", "GeometryNodeExtrudeMesh"); define("GeometryNode", "GeometryNodeFaceOfCorner"); define("GeometryNode", "GeometryNodeFieldAtIndex"); @@ -10984,7 +10987,6 @@ static void rna_def_nodes(BlenderRNA *brna) define("GeometryNode", "GeometryNodeScaleInstances"); define("GeometryNode", "GeometryNodeSDFGridBoolean"); define("GeometryNode", "GeometryNodeSelfObject"); - define("GeometryNode", "GeometryNodeSeparateBundle", rna_def_geo_separate_bundle); define("GeometryNode", "GeometryNodeSeparateComponents"); define("GeometryNode", "GeometryNodeSeparateGeometry"); define("GeometryNode", "GeometryNodeSetCurveHandlePositions"); diff --git a/source/blender/nodes/geometry/include/NOD_geo_bundle.hh b/source/blender/nodes/geometry/include/NOD_geo_bundle.hh index ec542c1cfc2..baad6de51d2 100644 --- a/source/blender/nodes/geometry/include/NOD_geo_bundle.hh +++ b/source/blender/nodes/geometry/include/NOD_geo_bundle.hh @@ -31,10 +31,10 @@ inline bool socket_type_supported_in_bundle(const eNodeSocketDatatype socket_typ } struct CombineBundleItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometryCombineBundleItem; + using ItemT = NodeCombineBundleItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeCombineBundle"; + static constexpr StringRefNull node_idname = "NodeCombineBundle"; static constexpr bool has_type = true; static constexpr bool has_name = true; static constexpr bool has_name_validation = true; @@ -54,7 +54,7 @@ struct CombineBundleItemsAccessor : public socket_items::SocketItemsAccessorDefa static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->items, &storage->items_num, &storage->active_index}; } @@ -92,7 +92,7 @@ struct CombineBundleItemsAccessor : public socket_items::SocketItemsAccessorDefa const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->next_identifier++; socket_items::set_item_name_and_make_unique(node, item, name); @@ -107,10 +107,10 @@ struct CombineBundleItemsAccessor : public socket_items::SocketItemsAccessorDefa }; struct SeparateBundleItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometrySeparateBundleItem; + using ItemT = NodeSeparateBundleItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeSeparateBundle"; + static constexpr StringRefNull node_idname = "NodeSeparateBundle"; static constexpr bool has_type = true; static constexpr bool has_name = true; static constexpr bool has_name_validation = true; @@ -130,7 +130,7 @@ struct SeparateBundleItemsAccessor : public socket_items::SocketItemsAccessorDef static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->items, &storage->items_num, &storage->active_index}; } @@ -168,7 +168,7 @@ struct SeparateBundleItemsAccessor : public socket_items::SocketItemsAccessorDef const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->next_identifier++; socket_items::set_item_name_and_make_unique(node, item, name); diff --git a/source/blender/nodes/geometry/include/NOD_geo_closure.hh b/source/blender/nodes/geometry/include/NOD_geo_closure.hh index 6ece98d2249..e7a2a1b01e6 100644 --- a/source/blender/nodes/geometry/include/NOD_geo_closure.hh +++ b/source/blender/nodes/geometry/include/NOD_geo_closure.hh @@ -31,10 +31,10 @@ inline bool socket_type_supported_in_closure(const eNodeSocketDatatype socket_ty } struct ClosureInputItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometryClosureInputItem; + using ItemT = NodeClosureInputItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeClosureOutput"; + static constexpr StringRefNull node_idname = "NodeClosureOutput"; static constexpr bool has_type = true; static constexpr bool has_name = true; struct operator_idnames { @@ -52,7 +52,7 @@ struct ClosureInputItemsAccessor : public socket_items::SocketItemsAccessorDefau static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->input_items.items, &storage->input_items.items_num, &storage->input_items.active_index}; @@ -92,7 +92,7 @@ struct ClosureInputItemsAccessor : public socket_items::SocketItemsAccessorDefau const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->input_items.next_identifier++; socket_items::set_item_name_and_make_unique(node, item, name); @@ -105,10 +105,10 @@ struct ClosureInputItemsAccessor : public socket_items::SocketItemsAccessorDefau }; struct ClosureOutputItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometryClosureOutputItem; + using ItemT = NodeClosureOutputItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeClosureOutput"; + static constexpr StringRefNull node_idname = "NodeClosureOutput"; static constexpr bool has_type = true; static constexpr bool has_name = true; struct operator_idnames { @@ -126,7 +126,7 @@ struct ClosureOutputItemsAccessor : public socket_items::SocketItemsAccessorDefa static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->output_items.items, &storage->output_items.items_num, &storage->output_items.active_index}; @@ -166,7 +166,7 @@ struct ClosureOutputItemsAccessor : public socket_items::SocketItemsAccessorDefa const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->output_items.next_identifier++; socket_items::set_item_name_and_make_unique(node, item, name); @@ -179,10 +179,10 @@ struct ClosureOutputItemsAccessor : public socket_items::SocketItemsAccessorDefa }; struct EvaluateClosureInputItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometryEvaluateClosureInputItem; + using ItemT = NodeEvaluateClosureInputItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeEvaluateClosure"; + static constexpr StringRefNull node_idname = "NodeEvaluateClosure"; static constexpr bool has_type = true; static constexpr bool has_name = true; struct operator_idnames { @@ -200,7 +200,7 @@ struct EvaluateClosureInputItemsAccessor : public socket_items::SocketItemsAcces static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->input_items.items, &storage->input_items.items_num, &storage->input_items.active_index}; @@ -240,7 +240,7 @@ struct EvaluateClosureInputItemsAccessor : public socket_items::SocketItemsAcces const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->input_items.next_identifier++; item.structure_type = NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_DYNAMIC; @@ -255,10 +255,10 @@ struct EvaluateClosureInputItemsAccessor : public socket_items::SocketItemsAcces }; struct EvaluateClosureOutputItemsAccessor : public socket_items::SocketItemsAccessorDefaults { - using ItemT = NodeGeometryEvaluateClosureOutputItem; + using ItemT = NodeEvaluateClosureOutputItem; static StructRNA *item_srna; static int node_type; - static constexpr StringRefNull node_idname = "GeometryNodeEvaluateClosure"; + static constexpr StringRefNull node_idname = "NodeEvaluateClosure"; static constexpr bool has_type = true; static constexpr bool has_name = true; struct operator_idnames { @@ -276,7 +276,7 @@ struct EvaluateClosureOutputItemsAccessor : public socket_items::SocketItemsAcce static socket_items::SocketItemsRef get_items_from_node(bNode &node) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); return {&storage->output_items.items, &storage->output_items.items_num, &storage->output_items.active_index}; @@ -316,7 +316,7 @@ struct EvaluateClosureOutputItemsAccessor : public socket_items::SocketItemsAcce const eNodeSocketDatatype socket_type, const char *name) { - auto *storage = static_cast(node.storage); + auto *storage = static_cast(node.storage); item.socket_type = socket_type; item.identifier = storage->output_items.next_identifier++; item.structure_type = NODE_INTERFACE_SOCKET_STRUCTURE_TYPE_DYNAMIC; diff --git a/source/blender/nodes/geometry/nodes/node_geo_closure.cc b/source/blender/nodes/geometry/nodes/node_geo_closure.cc index c3f8e68539a..f162f76d8a7 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_closure.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_closure.cc @@ -42,7 +42,7 @@ static void node_layout_ex(uiLayout *layout, bContext *C, PointerRNA *current_no layout->use_property_decorate_set(false); layout->op("node.sockets_sync", "Sync", ICON_FILE_REFRESH); - if (current_node->type_legacy == GEO_NODE_CLOSURE_INPUT) { + if (current_node->type_legacy == NODE_CLOSURE_INPUT) { if (uiLayout *panel = layout->panel(C, "input_items", false, TIP_("Input Items"))) { socket_items::ui::draw_items_list_with_operators( C, panel, ntree, output_node); @@ -67,20 +67,19 @@ static void node_layout_ex(uiLayout *layout, bContext *C, PointerRNA *current_no namespace input_node { -NODE_STORAGE_FUNCS(NodeGeometryClosureInput); +NODE_STORAGE_FUNCS(NodeClosureInput); static void node_declare(NodeDeclarationBuilder &b) { const bNode *node = b.node_or_null(); const bNodeTree *tree = b.tree_or_null(); if (node && tree) { - const NodeGeometryClosureInput &storage = node_storage(*node); + const NodeClosureInput &storage = node_storage(*node); const bNode *output_node = tree->node_by_id(storage.output_node_id); if (output_node) { - const auto &output_storage = *static_cast( - output_node->storage); + const auto &output_storage = *static_cast(output_node->storage); for (const int i : IndexRange(output_storage.input_items.items_num)) { - const NodeGeometryClosureInputItem &item = output_storage.input_items.items[i]; + const NodeClosureInputItem &item = output_storage.input_items.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const std::string identifier = ClosureInputItemsAccessor::socket_identifier_for_item(item); b.add_output(socket_type, item.name, identifier); @@ -100,7 +99,7 @@ static void node_label(const bNodeTree * /*ntree*/, static void node_init(bNodeTree * /*tree*/, bNode *node) { - NodeGeometryClosureInput *data = MEM_callocN(__func__); + NodeClosureInput *data = MEM_callocN(__func__); node->storage = data; } @@ -117,7 +116,7 @@ static bool node_insert_link(bke::NodeInsertLinkParams ¶ms) static void node_register() { static blender::bke::bNodeType ntype; - geo_node_type_base(&ntype, "GeometryNodeClosureInput", GEO_NODE_CLOSURE_INPUT); + geo_node_type_base(&ntype, "NodeClosureInput", NODE_CLOSURE_INPUT); ntype.ui_name = "Closure Input"; ntype.nclass = NODE_CLASS_INTERFACE; ntype.declare = node_declare; @@ -128,7 +127,7 @@ static void node_register() ntype.insert_link = node_insert_link; ntype.draw_buttons_ex = node_layout_ex; blender::bke::node_type_storage( - ntype, "NodeGeometryClosureInput", node_free_standard_storage, node_copy_standard_storage); + ntype, "NodeClosureInput", node_free_standard_storage, node_copy_standard_storage); blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) @@ -137,16 +136,16 @@ NOD_REGISTER_NODE(node_register) namespace output_node { -NODE_STORAGE_FUNCS(NodeGeometryClosureOutput); +NODE_STORAGE_FUNCS(NodeClosureOutput); static void node_declare(NodeDeclarationBuilder &b) { const bNodeTree *tree = b.tree_or_null(); const bNode *node = b.node_or_null(); if (node && tree) { - const NodeGeometryClosureOutput &storage = node_storage(*node); + const NodeClosureOutput &storage = node_storage(*node); for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryClosureOutputItem &item = storage.output_items.items[i]; + const NodeClosureOutputItem &item = storage.output_items.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const std::string identifier = ClosureOutputItemsAccessor::socket_identifier_for_item(item); b.add_input(socket_type, item.name, identifier).supports_field(); @@ -158,14 +157,14 @@ static void node_declare(NodeDeclarationBuilder &b) static void node_init(bNodeTree * /*tree*/, bNode *node) { - NodeGeometryClosureOutput *data = MEM_callocN(__func__); + NodeClosureOutput *data = MEM_callocN(__func__); node->storage = data; } static void node_copy_storage(bNodeTree * /*dst_tree*/, bNode *dst_node, const bNode *src_node) { - const NodeGeometryClosureOutput &src_storage = node_storage(*src_node); - auto *dst_storage = MEM_dupallocN(__func__, src_storage); + const NodeClosureOutput &src_storage = node_storage(*src_node); + auto *dst_storage = MEM_dupallocN(__func__, src_storage); dst_node->storage = dst_storage; socket_items::copy_array(*src_node, *dst_node); @@ -183,11 +182,11 @@ static bool node_insert_link(bke::NodeInsertLinkParams ¶ms) { if (params.C && params.link.fromnode == ¶ms.node && params.link.tosock->type == SOCK_CLOSURE) { - const NodeGeometryClosureOutput &storage = node_storage(params.node); + const NodeClosureOutput &storage = node_storage(params.node); if (storage.input_items.items_num == 0 && storage.output_items.items_num == 0) { SpaceNode *snode = CTX_wm_space_node(params.C); if (snode && snode->edittree == ¶ms.ntree) { - bNode *input_node = bke::zone_type_by_node_type(GEO_NODE_CLOSURE_OUTPUT) + bNode *input_node = bke::zone_type_by_node_type(NODE_CLOSURE_OUTPUT) ->get_corresponding_input(params.ntree, params.node); if (input_node) { sync_sockets_closure(*snode, *input_node, params.node, nullptr, params.link.tosock); @@ -216,11 +215,11 @@ static void node_gather_link_searches(GatherLinkSearchOpParams ¶ms) return; } params.add_item_full_name(IFACE_("Closure"), [](LinkSearchOpParams ¶ms) { - bNode &input_node = params.add_node("GeometryNodeClosureInput"); - bNode &output_node = params.add_node("GeometryNodeClosureOutput"); + bNode &input_node = params.add_node("NodeClosureInput"); + bNode &output_node = params.add_node("NodeClosureOutput"); output_node.location[0] = 300; - auto &input_storage = *static_cast(input_node.storage); + auto &input_storage = *static_cast(input_node.storage); input_storage.output_node_id = output_node.identifier; params.connect_available_socket(output_node, "Closure"); @@ -245,7 +244,7 @@ static void node_blend_read(bNodeTree & /*tree*/, bNode &node, BlendDataReader & static void node_register() { static blender::bke::bNodeType ntype; - geo_node_type_base(&ntype, "GeometryNodeClosureOutput", GEO_NODE_CLOSURE_OUTPUT); + geo_node_type_base(&ntype, "NodeClosureOutput", NODE_CLOSURE_OUTPUT); ntype.ui_name = "Closure Output"; ntype.nclass = NODE_CLASS_INTERFACE; ntype.declare = node_declare; @@ -258,7 +257,7 @@ static void node_register() ntype.draw_buttons_ex = node_layout_ex; ntype.blend_write_storage_content = node_blend_write; ntype.blend_data_read_storage_content = node_blend_read; - bke::node_type_storage(ntype, "NodeGeometryClosureOutput", node_free_storage, node_copy_storage); + bke::node_type_storage(ntype, "NodeClosureOutput", node_free_storage, node_copy_storage); blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) @@ -269,7 +268,7 @@ NOD_REGISTER_NODE(node_register) namespace blender::nodes { -StructRNA *ClosureInputItemsAccessor::item_srna = &RNA_NodeGeometryClosureInputItem; +StructRNA *ClosureInputItemsAccessor::item_srna = &RNA_NodeClosureInputItem; void ClosureInputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { @@ -281,7 +280,7 @@ void ClosureInputItemsAccessor::blend_read_data_item(BlendDataReader *reader, It BLO_read_string(reader, &item.name); } -StructRNA *ClosureOutputItemsAccessor::item_srna = &RNA_NodeGeometryClosureOutputItem; +StructRNA *ClosureOutputItemsAccessor::item_srna = &RNA_NodeClosureOutputItem; void ClosureOutputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc b/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc index 95ef6d9512d..3120e0b11de 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_combine_bundle.cc @@ -21,16 +21,16 @@ namespace blender::nodes::node_geo_combine_bundle_cc { -NODE_STORAGE_FUNCS(NodeGeometryCombineBundle); +NODE_STORAGE_FUNCS(NodeCombineBundle); static void node_declare(NodeDeclarationBuilder &b) { const bNodeTree *tree = b.tree_or_null(); const bNode *node = b.node_or_null(); if (tree && node) { - const NodeGeometryCombineBundle &storage = node_storage(*node); + const NodeCombineBundle &storage = node_storage(*node); for (const int i : IndexRange(storage.items_num)) { - const NodeGeometryCombineBundleItem &item = storage.items[i]; + const NodeCombineBundleItem &item = storage.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const StringRef name = item.name ? item.name : ""; const std::string identifier = CombineBundleItemsAccessor::socket_identifier_for_item(item); @@ -46,14 +46,14 @@ static void node_declare(NodeDeclarationBuilder &b) static void node_init(bNodeTree * /*tree*/, bNode *node) { - auto *storage = MEM_callocN(__func__); + auto *storage = MEM_callocN(__func__); node->storage = storage; } static void node_copy_storage(bNodeTree * /*dst_tree*/, bNode *dst_node, const bNode *src_node) { - const NodeGeometryCombineBundle &src_storage = node_storage(*src_node); - auto *dst_storage = MEM_dupallocN(__func__, src_storage); + const NodeCombineBundle &src_storage = node_storage(*src_node); + auto *dst_storage = MEM_dupallocN(__func__, src_storage); dst_node->storage = dst_storage; socket_items::copy_array(*src_node, *dst_node); @@ -69,7 +69,7 @@ static bool node_insert_link(bke::NodeInsertLinkParams ¶ms) { if (params.C && params.link.fromnode == ¶ms.node && params.link.tosock->type == SOCK_BUNDLE) { - const NodeGeometryCombineBundle &storage = node_storage(params.node); + const NodeCombineBundle &storage = node_storage(params.node); if (storage.items_num == 0) { SpaceNode *snode = CTX_wm_space_node(params.C); if (snode && snode->edittree == ¶ms.ntree) { @@ -111,14 +111,14 @@ static void node_geo_exec(GeoNodeExecParams params) } const bNode &node = params.node(); - const NodeGeometryCombineBundle &storage = node_storage(node); + const NodeCombineBundle &storage = node_storage(node); BundlePtr bundle_ptr = Bundle::create(); BLI_assert(bundle_ptr->is_mutable()); Bundle &bundle = const_cast(*bundle_ptr); for (const int i : IndexRange(storage.items_num)) { - const NodeGeometryCombineBundleItem &item = storage.items[i]; + const NodeCombineBundleItem &item = storage.items[i]; const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type); if (!stype || !stype->geometry_nodes_cpp_type) { continue; @@ -146,7 +146,7 @@ static void node_gather_link_searches(GatherLinkSearchOpParams ¶ms) } params.add_item("Bundle", [](LinkSearchOpParams ¶ms) { - bNode &node = params.add_node("GeometryNodeCombineBundle"); + bNode &node = params.add_node("NodeCombineBundle"); params.connect_available_socket(node, "Bundle"); SpaceNode &snode = *CTX_wm_space_node(¶ms.C); @@ -168,7 +168,7 @@ static void node_register() { static blender::bke::bNodeType ntype; - geo_node_type_base(&ntype, "GeometryNodeCombineBundle", GEO_NODE_COMBINE_BUNDLE); + geo_node_type_base(&ntype, "NodeCombineBundle", NODE_COMBINE_BUNDLE); ntype.ui_name = "Combine Bundle"; ntype.ui_description = "Combine multiple socket values into one."; ntype.nclass = NODE_CLASS_CONVERTER; @@ -181,7 +181,7 @@ static void node_register() ntype.register_operators = node_operators; ntype.blend_write_storage_content = node_blend_write; ntype.blend_data_read_storage_content = node_blend_read; - bke::node_type_storage(ntype, "NodeGeometryCombineBundle", node_free_storage, node_copy_storage); + bke::node_type_storage(ntype, "NodeCombineBundle", node_free_storage, node_copy_storage); blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) @@ -190,7 +190,7 @@ NOD_REGISTER_NODE(node_register) namespace blender::nodes { -StructRNA *CombineBundleItemsAccessor::item_srna = &RNA_NodeGeometryCombineBundleItem; +StructRNA *CombineBundleItemsAccessor::item_srna = &RNA_NodeCombineBundleItem; void CombineBundleItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc b/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc index 79287b60445..916060b4e6e 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_evaluate_closure.cc @@ -20,7 +20,7 @@ namespace blender::nodes::node_geo_evaluate_closure_cc { -NODE_STORAGE_FUNCS(NodeGeometryEvaluateClosure) +NODE_STORAGE_FUNCS(NodeEvaluateClosure) static void node_declare(NodeDeclarationBuilder &b) { @@ -30,7 +30,7 @@ static void node_declare(NodeDeclarationBuilder &b) if (node) { const auto &storage = node_storage(*node); for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryEvaluateClosureInputItem &item = storage.input_items.items[i]; + const NodeEvaluateClosureInputItem &item = storage.input_items.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const std::string identifier = EvaluateClosureInputItemsAccessor::socket_identifier_for_item( item); @@ -38,7 +38,7 @@ static void node_declare(NodeDeclarationBuilder &b) .structure_type(StructureType(item.structure_type)); } for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = storage.output_items.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const std::string identifier = EvaluateClosureOutputItemsAccessor::socket_identifier_for_item(item); @@ -53,14 +53,14 @@ static void node_declare(NodeDeclarationBuilder &b) static void node_init(bNodeTree * /*tree*/, bNode *node) { - auto *storage = MEM_callocN(__func__); + auto *storage = MEM_callocN(__func__); node->storage = storage; } static void node_copy_storage(bNodeTree * /*tree*/, bNode *dst_node, const bNode *src_node) { - const NodeGeometryEvaluateClosure &src_storage = node_storage(*src_node); - auto *dst_storage = MEM_dupallocN(__func__, src_storage); + const NodeEvaluateClosure &src_storage = node_storage(*src_node); + auto *dst_storage = MEM_dupallocN(__func__, src_storage); dst_node->storage = dst_storage; socket_items::copy_array(*src_node, *dst_node); @@ -79,7 +79,7 @@ static bool node_insert_link(bke::NodeInsertLinkParams ¶ms) if (params.C && params.link.tosock == params.node.inputs.first && params.link.fromsock->type == SOCK_CLOSURE) { - const NodeGeometryEvaluateClosure &storage = node_storage(params.node); + const NodeEvaluateClosure &storage = node_storage(params.node); if (storage.input_items.items_num == 0 && storage.output_items.items_num == 0) { SpaceNode *snode = CTX_wm_space_node(params.C); if (snode && snode->edittree == ¶ms.ntree) { @@ -144,7 +144,7 @@ static void node_gather_link_searches(GatherLinkSearchOpParams ¶ms) } params.add_item("Closure", [](LinkSearchOpParams ¶ms) { - bNode &node = params.add_node("GeometryNodeEvaluateClosure"); + bNode &node = params.add_node("NodeEvaluateClosure"); params.connect_available_socket(node, "Closure"); SpaceNode &snode = *CTX_wm_space_node(¶ms.C); @@ -174,7 +174,7 @@ static void node_register() { static blender::bke::bNodeType ntype; - geo_node_type_base(&ntype, "GeometryNodeEvaluateClosure", GEO_NODE_EVALUATE_CLOSURE); + geo_node_type_base(&ntype, "NodeEvaluateClosure", NODE_EVALUATE_CLOSURE); ntype.ui_name = "Evaluate Closure"; ntype.nclass = NODE_CLASS_CONVERTER; ntype.declare = node_declare; @@ -186,8 +186,7 @@ static void node_register() ntype.register_operators = node_operators; ntype.blend_write_storage_content = node_blend_write; ntype.blend_data_read_storage_content = node_blend_read; - bke::node_type_storage( - ntype, "NodeGeometryEvaluateClosure", node_free_storage, node_copy_storage); + bke::node_type_storage(ntype, "NodeEvaluateClosure", node_free_storage, node_copy_storage); blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) @@ -196,8 +195,7 @@ NOD_REGISTER_NODE(node_register) namespace blender::nodes { -StructRNA *EvaluateClosureInputItemsAccessor::item_srna = - &RNA_NodeGeometryEvaluateClosureInputItem; +StructRNA *EvaluateClosureInputItemsAccessor::item_srna = &RNA_NodeEvaluateClosureInputItem; void EvaluateClosureInputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { @@ -209,8 +207,7 @@ void EvaluateClosureInputItemsAccessor::blend_read_data_item(BlendDataReader *re BLO_read_string(reader, &item.name); } -StructRNA *EvaluateClosureOutputItemsAccessor::item_srna = - &RNA_NodeGeometryEvaluateClosureOutputItem; +StructRNA *EvaluateClosureOutputItemsAccessor::item_srna = &RNA_NodeEvaluateClosureOutputItem; void EvaluateClosureOutputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { @@ -226,16 +223,16 @@ const bNodeSocket *evaluate_closure_node_internally_linked_input(const bNodeSock { const bNode &node = output_socket.owner_node(); const bNodeTree &tree = node.owner_tree(); - BLI_assert(node.is_type("GeometryNodeEvaluateClosure")); - const auto &storage = *static_cast(node.storage); + BLI_assert(node.is_type("NodeEvaluateClosure")); + const auto &storage = *static_cast(node.storage); if (output_socket.index() >= storage.output_items.items_num) { return nullptr; } - const NodeGeometryEvaluateClosureOutputItem &output_item = + const NodeEvaluateClosureOutputItem &output_item = storage.output_items.items[output_socket.index()]; const StringRef output_key = output_item.name; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryEvaluateClosureInputItem &input_item = storage.input_items.items[i]; + const NodeEvaluateClosureInputItem &input_item = storage.input_items.items[i]; const StringRef input_key = input_item.name; if (output_key == input_key) { if (!tree.typeinfo->validate_link || diff --git a/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc b/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc index 4a15342eb58..c2b808c54f3 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_separate_bundle.cc @@ -24,7 +24,7 @@ namespace blender::nodes::node_geo_separate_bundle_cc { -NODE_STORAGE_FUNCS(NodeGeometrySeparateBundle); +NODE_STORAGE_FUNCS(NodeSeparateBundle); static void node_declare(NodeDeclarationBuilder &b) { @@ -32,9 +32,9 @@ static void node_declare(NodeDeclarationBuilder &b) const bNodeTree *tree = b.tree_or_null(); const bNode *node = b.node_or_null(); if (tree && node) { - const NodeGeometrySeparateBundle &storage = node_storage(*node); + const NodeSeparateBundle &storage = node_storage(*node); for (const int i : IndexRange(storage.items_num)) { - const NodeGeometrySeparateBundleItem &item = storage.items[i]; + const NodeSeparateBundleItem &item = storage.items[i]; const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type); const StringRef name = item.name ? item.name : ""; const std::string identifier = SeparateBundleItemsAccessor::socket_identifier_for_item(item); @@ -50,14 +50,14 @@ static void node_declare(NodeDeclarationBuilder &b) static void node_init(bNodeTree * /*tree*/, bNode *node) { - auto *storage = MEM_callocN(__func__); + auto *storage = MEM_callocN(__func__); node->storage = storage; } static void node_copy_storage(bNodeTree * /*dst_tree*/, bNode *dst_node, const bNode *src_node) { - const NodeGeometrySeparateBundle &src_storage = node_storage(*src_node); - auto *dst_storage = MEM_dupallocN(__func__, src_storage); + const NodeSeparateBundle &src_storage = node_storage(*src_node); + auto *dst_storage = MEM_dupallocN(__func__, src_storage); dst_node->storage = dst_storage; socket_items::copy_array(*src_node, *dst_node); @@ -73,7 +73,7 @@ static bool node_insert_link(bke::NodeInsertLinkParams ¶ms) { if (params.C && params.link.tonode == ¶ms.node && params.link.fromsock->type == SOCK_BUNDLE) { - const NodeGeometrySeparateBundle &storage = node_storage(params.node); + const NodeSeparateBundle &storage = node_storage(params.node); if (storage.items_num == 0) { SpaceNode *snode = CTX_wm_space_node(params.C); if (snode && snode->edittree == ¶ms.ntree) { @@ -121,12 +121,12 @@ static void node_geo_exec(GeoNodeExecParams params) } const bNode &node = params.node(); - const NodeGeometrySeparateBundle &storage = node_storage(node); + const NodeSeparateBundle &storage = node_storage(node); lf::Params &lf_params = params.low_level_lazy_function_params(); for (const int i : IndexRange(storage.items_num)) { - const NodeGeometrySeparateBundleItem &item = storage.items[i]; + const NodeSeparateBundleItem &item = storage.items[i]; const StringRef name = item.name; if (name.is_empty()) { continue; @@ -193,7 +193,7 @@ static void node_gather_link_searches(GatherLinkSearchOpParams ¶ms) } params.add_item("Bundle", [](LinkSearchOpParams ¶ms) { - bNode &node = params.add_node("GeometryNodeSeparateBundle"); + bNode &node = params.add_node("NodeSeparateBundle"); params.connect_available_socket(node, "Bundle"); SpaceNode &snode = *CTX_wm_space_node(¶ms.C); @@ -215,7 +215,7 @@ static void node_register() { static blender::bke::bNodeType ntype; - geo_node_type_base(&ntype, "GeometryNodeSeparateBundle", GEO_NODE_SEPARATE_BUNDLE); + geo_node_type_base(&ntype, "NodeSeparateBundle", NODE_SEPARATE_BUNDLE); ntype.ui_name = "Separate Bundle"; ntype.ui_description = "Split a bundle into multiple sockets."; ntype.nclass = NODE_CLASS_CONVERTER; @@ -228,8 +228,7 @@ static void node_register() ntype.register_operators = node_operators; ntype.blend_write_storage_content = node_blend_write; ntype.blend_data_read_storage_content = node_blend_read; - bke::node_type_storage( - ntype, "NodeGeometrySeparateBundle", node_free_storage, node_copy_storage); + bke::node_type_storage(ntype, "NodeSeparateBundle", node_free_storage, node_copy_storage); blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) @@ -238,7 +237,7 @@ NOD_REGISTER_NODE(node_register) namespace blender::nodes { -StructRNA *SeparateBundleItemsAccessor::item_srna = &RNA_NodeGeometrySeparateBundleItem; +StructRNA *SeparateBundleItemsAccessor::item_srna = &RNA_NodeSeparateBundleItem; void SeparateBundleItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item) { diff --git a/source/blender/nodes/intern/geometry_nodes_bundle.cc b/source/blender/nodes/intern/geometry_nodes_bundle.cc index ab98b794074..7541c75a184 100644 --- a/source/blender/nodes/intern/geometry_nodes_bundle.cc +++ b/source/blender/nodes/intern/geometry_nodes_bundle.cc @@ -287,11 +287,11 @@ void Bundle::delete_self() BundleSignature BundleSignature::from_combine_bundle_node(const bNode &node) { - BLI_assert(node.is_type("GeometryNodeCombineBundle")); - const auto &storage = *static_cast(node.storage); + BLI_assert(node.is_type("NodeCombineBundle")); + const auto &storage = *static_cast(node.storage); BundleSignature signature; for (const int i : IndexRange(storage.items_num)) { - const NodeGeometryCombineBundleItem &item = storage.items[i]; + const NodeCombineBundleItem &item = storage.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.items.add({item.name, stype}); } @@ -301,11 +301,11 @@ BundleSignature BundleSignature::from_combine_bundle_node(const bNode &node) BundleSignature BundleSignature::from_separate_bundle_node(const bNode &node) { - BLI_assert(node.is_type("GeometryNodeSeparateBundle")); - const auto &storage = *static_cast(node.storage); + BLI_assert(node.is_type("NodeSeparateBundle")); + const auto &storage = *static_cast(node.storage); BundleSignature signature; for (const int i : IndexRange(storage.items_num)) { - const NodeGeometrySeparateBundleItem &item = storage.items[i]; + const NodeSeparateBundleItem &item = storage.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.items.add({item.name, stype}); } diff --git a/source/blender/nodes/intern/geometry_nodes_closure.cc b/source/blender/nodes/intern/geometry_nodes_closure.cc index f37025cf296..2acd6003048 100644 --- a/source/blender/nodes/intern/geometry_nodes_closure.cc +++ b/source/blender/nodes/intern/geometry_nodes_closure.cc @@ -88,17 +88,17 @@ bool ClosureSignature::all_matching_exactly(const Span signatu ClosureSignature ClosureSignature::from_closure_output_node(const bNode &node) { - BLI_assert(node.is_type("GeometryNodeClosureOutput")); - const auto &storage = *static_cast(node.storage); + BLI_assert(node.is_type("NodeClosureOutput")); + const auto &storage = *static_cast(node.storage); nodes::ClosureSignature signature; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryClosureInputItem &item = storage.input_items.items[i]; + const NodeClosureInputItem &item = storage.input_items.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.inputs.add({item.name, stype}); } } for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryClosureOutputItem &item = storage.output_items.items[i]; + const NodeClosureOutputItem &item = storage.output_items.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.outputs.add({item.name, stype}); } @@ -108,17 +108,17 @@ ClosureSignature ClosureSignature::from_closure_output_node(const bNode &node) ClosureSignature ClosureSignature::from_evaluate_closure_node(const bNode &node) { - BLI_assert(node.is_type("GeometryNodeEvaluateClosure")); - const auto &storage = *static_cast(node.storage); + BLI_assert(node.is_type("NodeEvaluateClosure")); + const auto &storage = *static_cast(node.storage); nodes::ClosureSignature signature; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryEvaluateClosureInputItem &item = storage.input_items.items[i]; + const NodeEvaluateClosureInputItem &item = storage.input_items.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.inputs.add({item.name, stype, nodes::StructureType(item.structure_type)}); } } for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = storage.output_items.items[i]; if (const bke::bNodeSocketType *stype = bke::node_socket_type_find_static(item.socket_type)) { signature.outputs.add({item.name, stype, nodes::StructureType(item.structure_type)}); } diff --git a/source/blender/nodes/intern/geometry_nodes_closure_zone.cc b/source/blender/nodes/intern/geometry_nodes_closure_zone.cc index 8de57dfaa27..6eb5b9aeb04 100644 --- a/source/blender/nodes/intern/geometry_nodes_closure_zone.cc +++ b/source/blender/nodes/intern/geometry_nodes_closure_zone.cc @@ -119,7 +119,7 @@ class LazyFunctionForClosureZone : public LazyFunction { inputs_[zone_info.indices.inputs.border_links[i]].usage = lf::ValueUsage::Used; } - const auto &storage = *static_cast(output_bnode_.storage); + const auto &storage = *static_cast(output_bnode_.storage); closure_signature_ = std::make_shared(); @@ -147,7 +147,7 @@ class LazyFunctionForClosureZone : public LazyFunction { return; } - const auto &storage = *static_cast(output_bnode_.storage); + const auto &storage = *static_cast(output_bnode_.storage); std::unique_ptr closure_scope = std::make_unique(); @@ -157,7 +157,7 @@ class LazyFunctionForClosureZone : public LazyFunction { Vector default_input_values; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryClosureInputItem &item = storage.input_items.items[i]; + const NodeClosureInputItem &item = storage.input_items.items[i]; const bNodeSocket &bsocket = zone_.input_node()->output_socket(i); const CPPType &cpp_type = *bsocket.typeinfo->geometry_nodes_cpp_type; @@ -179,7 +179,7 @@ class LazyFunctionForClosureZone : public LazyFunction { storage.input_items.items_num); for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryClosureOutputItem &item = storage.output_items.items[i]; + const NodeClosureOutputItem &item = storage.output_items.items[i]; const bNodeSocket &bsocket = zone_.output_node()->input_socket(i); const CPPType &cpp_type = *bsocket.typeinfo->geometry_nodes_cpp_type; @@ -421,7 +421,7 @@ class LazyFunctionForEvaluateClosureNode : public LazyFunction { void generate_closure_compatibility_warnings(const Closure &closure, const lf::Context &context) const { - const auto &node_storage = *static_cast(bnode_.storage); + const auto &node_storage = *static_cast(bnode_.storage); const auto &user_data = *static_cast(context.user_data); const auto &local_user_data = *static_cast(context.local_user_data); geo_eval_log::GeoTreeLogger *tree_logger = local_user_data.try_get_tree_logger(user_data); @@ -429,7 +429,7 @@ class LazyFunctionForEvaluateClosureNode : public LazyFunction { return; } const ClosureSignature &signature = closure.signature(); - for (const NodeGeometryEvaluateClosureInputItem &item : + for (const NodeEvaluateClosureInputItem &item : Span{node_storage.input_items.items, node_storage.input_items.items_num}) { const bke::bNodeSocketType *item_type = bke::node_socket_type_find_static(item.socket_type); @@ -474,7 +474,7 @@ class LazyFunctionForEvaluateClosureNode : public LazyFunction { }}); } } - for (const NodeGeometryEvaluateClosureOutputItem &item : + for (const NodeEvaluateClosureOutputItem &item : Span{node_storage.output_items.items, node_storage.output_items.items_num}) { const bke::bNodeSocketType *item_type = bke::node_socket_type_find_static(item.socket_type); @@ -522,7 +522,7 @@ class LazyFunctionForEvaluateClosureNode : public LazyFunction { void initialize_execution_graph(EvaluateClosureEvalStorage &eval_storage) const { - const auto &node_storage = *static_cast(bnode_.storage); + const auto &node_storage = *static_cast(bnode_.storage); lf::Graph &lf_graph = eval_storage.graph; @@ -696,7 +696,7 @@ class LazyFunctionForEvaluateClosureNode : public LazyFunction { void initialize_pass_through_graph(EvaluateClosureEvalStorage &eval_storage) const { - const auto &node_storage = *static_cast(bnode_.storage); + const auto &node_storage = *static_cast(bnode_.storage); lf::Graph &lf_graph = eval_storage.graph; for (const lf::Input &input : inputs_) { lf_graph.add_input(*input.type, input.debug_name); diff --git a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc index 8e586a0af2e..cfed417a100 100644 --- a/source/blender/nodes/intern/geometry_nodes_lazy_function.cc +++ b/source/blender/nodes/intern/geometry_nodes_lazy_function.cc @@ -2074,7 +2074,7 @@ struct GeometryNodesLazyFunctionBuilder { case GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT: this->build_foreach_geometry_element_zone_function(zone); break; - case GEO_NODE_CLOSURE_OUTPUT: + case NODE_CLOSURE_OUTPUT: this->build_closure_zone_function(zone); break; default: { @@ -2965,7 +2965,7 @@ struct GeometryNodesLazyFunctionBuilder { this->build_menu_switch_node(bnode, graph_params); break; } - case GEO_NODE_EVALUATE_CLOSURE: { + case NODE_EVALUATE_CLOSURE: { this->build_evaluate_closure_node(bnode, graph_params); break; } diff --git a/source/blender/nodes/intern/node_register.cc b/source/blender/nodes/intern/node_register.cc index f8efbba2f34..2ef97a96399 100644 --- a/source/blender/nodes/intern/node_register.cc +++ b/source/blender/nodes/intern/node_register.cc @@ -107,17 +107,17 @@ class ClosureZoneType : public blender::bke::bNodeZoneType { public: ClosureZoneType() { - this->input_idname = "GeometryNodeClosureInput"; - this->output_idname = "GeometryNodeClosureOutput"; - this->input_type = GEO_NODE_CLOSURE_INPUT; - this->output_type = GEO_NODE_CLOSURE_OUTPUT; + this->input_idname = "NodeClosureInput"; + this->output_idname = "NodeClosureOutput"; + this->input_type = NODE_CLOSURE_INPUT; + this->output_type = NODE_CLOSURE_OUTPUT; this->theme_id = TH_NODE_ZONE_CLOSURE; } const int &get_corresponding_output_id(const bNode &input_bnode) const override { BLI_assert(input_bnode.type_legacy == this->input_type); - return static_cast(input_bnode.storage)->output_node_id; + return static_cast(input_bnode.storage)->output_node_id; } }; diff --git a/source/blender/nodes/intern/sync_sockets.cc b/source/blender/nodes/intern/sync_sockets.cc index c0241f6731d..9cab54dfe26 100644 --- a/source/blender/nodes/intern/sync_sockets.cc +++ b/source/blender/nodes/intern/sync_sockets.cc @@ -58,7 +58,7 @@ static BundleSyncState get_sync_state_separate_bundle( const bNode &separate_bundle_node, const bNodeSocket *src_bundle_socket = nullptr) { - BLI_assert(separate_bundle_node.is_type("GeometryNodeSeparateBundle")); + BLI_assert(separate_bundle_node.is_type("NodeSeparateBundle")); snode.edittree->ensure_topology_cache(); if (!src_bundle_socket) { src_bundle_socket = &separate_bundle_node.input_socket(0); @@ -90,7 +90,7 @@ static BundleSyncState get_sync_state_combine_bundle( const bNode &combine_bundle_node, const bNodeSocket *src_bundle_socket = nullptr) { - BLI_assert(combine_bundle_node.is_type("GeometryNodeCombineBundle")); + BLI_assert(combine_bundle_node.is_type("NodeCombineBundle")); snode.edittree->ensure_topology_cache(); if (!src_bundle_socket) { src_bundle_socket = &combine_bundle_node.output_socket(0); @@ -201,20 +201,19 @@ void sync_sockets_separate_bundle(SpaceNode &snode, break; } - auto &storage = *static_cast(separate_bundle_node.storage); + auto &storage = *static_cast(separate_bundle_node.storage); Map old_identifiers; for (const int i : IndexRange(storage.items_num)) { - const NodeGeometrySeparateBundleItem &item = storage.items[i]; + const NodeSeparateBundleItem &item = storage.items[i]; old_identifiers.add_new(StringRef(item.name), item.identifier); } nodes::socket_items::clear(separate_bundle_node); for (const nodes::BundleSignature::Item &item : sync_state.source_signature->items) { - NodeGeometrySeparateBundleItem &new_item = - *nodes::socket_items::add_item_with_socket_type_and_name< - nodes ::SeparateBundleItemsAccessor>( - separate_bundle_node, item.type->type, item.key.c_str()); + NodeSeparateBundleItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name< + nodes ::SeparateBundleItemsAccessor>( + separate_bundle_node, item.type->type, item.key.c_str()); if (const std::optional old_identifier = old_identifiers.lookup_try(item.key)) { new_item.identifier = *old_identifier; } @@ -242,20 +241,19 @@ void sync_sockets_combine_bundle(SpaceNode &snode, break; } - auto &storage = *static_cast(combine_bundle_node.storage); + auto &storage = *static_cast(combine_bundle_node.storage); Map old_identifiers; for (const int i : IndexRange(storage.items_num)) { - const NodeGeometryCombineBundleItem &item = storage.items[i]; + const NodeCombineBundleItem &item = storage.items[i]; old_identifiers.add_new(StringRef(item.name), item.identifier); } nodes::socket_items::clear(combine_bundle_node); for (const nodes::BundleSignature::Item &item : sync_state.source_signature->items) { - NodeGeometryCombineBundleItem &new_item = - *nodes::socket_items::add_item_with_socket_type_and_name< - nodes ::CombineBundleItemsAccessor>( - combine_bundle_node, item.type->type, item.key.c_str()); + NodeCombineBundleItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name< + nodes ::CombineBundleItemsAccessor>( + combine_bundle_node, item.type->type, item.key.c_str()); if (const std::optional old_identifier = old_identifiers.lookup_try(item.key)) { new_item.identifier = *old_identifier; } @@ -284,16 +282,16 @@ void sync_sockets_evaluate_closure(SpaceNode &snode, break; } - auto &storage = *static_cast(evaluate_closure_node.storage); + auto &storage = *static_cast(evaluate_closure_node.storage); Map old_input_identifiers; Map old_output_identifiers; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryEvaluateClosureInputItem &item = storage.input_items.items[i]; + const NodeEvaluateClosureInputItem &item = storage.input_items.items[i]; old_input_identifiers.add_new(StringRef(item.name), item.identifier); } for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = storage.output_items.items[i]; old_output_identifiers.add_new(StringRef(item.name), item.identifier); } @@ -301,7 +299,7 @@ void sync_sockets_evaluate_closure(SpaceNode &snode, nodes::socket_items::clear(evaluate_closure_node); for (const nodes::ClosureSignature::Item &item : sync_state.source_signature->inputs) { - NodeGeometryEvaluateClosureInputItem &new_item = + NodeEvaluateClosureInputItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name< nodes::EvaluateClosureInputItemsAccessor>( evaluate_closure_node, item.type->type, item.key.c_str()); @@ -310,7 +308,7 @@ void sync_sockets_evaluate_closure(SpaceNode &snode, } } for (const nodes::ClosureSignature::Item &item : sync_state.source_signature->outputs) { - NodeGeometryEvaluateClosureOutputItem &new_item = + NodeEvaluateClosureOutputItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name< nodes::EvaluateClosureOutputItemsAccessor>( evaluate_closure_node, item.type->type, item.key.c_str()); @@ -343,16 +341,16 @@ void sync_sockets_closure(SpaceNode &snode, } const nodes::ClosureSignature &signature = *sync_state.source_signature; - auto &storage = *static_cast(closure_output_node.storage); + auto &storage = *static_cast(closure_output_node.storage); Map old_input_identifiers; Map old_output_identifiers; for (const int i : IndexRange(storage.input_items.items_num)) { - const NodeGeometryClosureInputItem &item = storage.input_items.items[i]; + const NodeClosureInputItem &item = storage.input_items.items[i]; old_input_identifiers.add_new(StringRef(item.name), item.identifier); } for (const int i : IndexRange(storage.output_items.items_num)) { - const NodeGeometryClosureOutputItem &item = storage.output_items.items[i]; + const NodeClosureOutputItem &item = storage.output_items.items[i]; old_output_identifiers.add_new(StringRef(item.name), item.identifier); } @@ -360,7 +358,7 @@ void sync_sockets_closure(SpaceNode &snode, nodes::socket_items::clear(closure_output_node); for (const nodes::ClosureSignature::Item &item : signature.inputs) { - NodeGeometryClosureInputItem &new_item = + NodeClosureInputItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name( closure_output_node, item.type->type, item.key.c_str()); if (item.structure_type) { @@ -371,10 +369,8 @@ void sync_sockets_closure(SpaceNode &snode, } } for (const nodes::ClosureSignature::Item &item : signature.outputs) { - NodeGeometryClosureOutputItem &new_item = - *nodes::socket_items::add_item_with_socket_type_and_name< - nodes::ClosureOutputItemsAccessor>( - closure_output_node, item.type->type, item.key.c_str()); + NodeClosureOutputItem &new_item = *nodes::socket_items::add_item_with_socket_type_and_name< + nodes::ClosureOutputItemsAccessor>(closure_output_node, item.type->type, item.key.c_str()); if (const std::optional old_identifier = old_output_identifiers.lookup_try(item.key)) { new_item.identifier = *old_identifier; } @@ -524,19 +520,18 @@ static std::string get_closure_sync_tooltip(const nodes::ClosureSignature &old_s void sync_node(bContext &C, bNode &node, ReportList *reports) { - const bke::bNodeZoneType &closure_zone_type = *bke::zone_type_by_node_type( - GEO_NODE_CLOSURE_OUTPUT); + const bke::bNodeZoneType &closure_zone_type = *bke::zone_type_by_node_type(NODE_CLOSURE_OUTPUT); SpaceNode &snode = *CTX_wm_space_node(&C); - if (node.is_type("GeometryNodeEvaluateClosure")) { + if (node.is_type("NodeEvaluateClosure")) { sync_sockets_evaluate_closure(snode, node, reports); } - else if (node.is_type("GeometryNodeSeparateBundle")) { + else if (node.is_type("NodeSeparateBundle")) { sync_sockets_separate_bundle(snode, node, reports); } - else if (node.is_type("GeometryNodeCombineBundle")) { + else if (node.is_type("NodeCombineBundle")) { sync_sockets_combine_bundle(snode, node, reports); } - else if (node.is_type("GeometryNodeClosureInput")) { + else if (node.is_type("NodeClosureInput")) { bNode &closure_input_node = node; if (bNode *closure_output_node = closure_zone_type.get_corresponding_output( *snode.edittree, closure_input_node)) @@ -544,7 +539,7 @@ void sync_node(bContext &C, bNode &node, ReportList *reports) sync_sockets_closure(snode, closure_input_node, *closure_output_node, reports); } } - else if (node.is_type("GeometryNodeClosureOutput")) { + else if (node.is_type("NodeClosureOutput")) { bNode &closure_output_node = node; if (bNode *closure_input_node = closure_zone_type.get_corresponding_input(*snode.edittree, closure_output_node)) @@ -561,7 +556,7 @@ std::string sync_node_description_get(const bContext &C, const bNode &node) return ""; } - if (node.is_type("GeometryNodeSeparateBundle")) { + if (node.is_type("NodeSeparateBundle")) { const nodes::BundleSignature old_signature = nodes::BundleSignature::from_separate_bundle_node( node); if (const std::optional new_signature = @@ -570,7 +565,7 @@ std::string sync_node_description_get(const bContext &C, const bNode &node) return get_bundle_sync_tooltip(old_signature, *new_signature); } } - else if (node.is_type("GeometryNodeCombineBundle")) { + else if (node.is_type("NodeCombineBundle")) { const nodes::BundleSignature old_signature = nodes::BundleSignature::from_combine_bundle_node( node); if (const std::optional new_signature = @@ -579,7 +574,7 @@ std::string sync_node_description_get(const bContext &C, const bNode &node) return get_bundle_sync_tooltip(old_signature, *new_signature); } } - else if (node.is_type("GeometryNodeEvaluateClosure")) { + else if (node.is_type("NodeEvaluateClosure")) { const nodes::ClosureSignature old_signature = nodes::ClosureSignature::from_evaluate_closure_node(node); if (const std::optional new_signature = @@ -588,7 +583,7 @@ std::string sync_node_description_get(const bContext &C, const bNode &node) return get_closure_sync_tooltip(old_signature, *new_signature); } } - else if (node.is_type("GeometryNodeClosureOutput")) { + else if (node.is_type("NodeClosureOutput")) { const nodes::ClosureSignature old_signature = nodes::ClosureSignature::from_closure_output_node(node); if (const std::optional new_signature = @@ -608,16 +603,16 @@ bool node_can_sync_sockets(const bContext &C, const bNodeTree & /*tree*/, const } Map &cache = ed::space_node::node_can_sync_cache_get(*snode); const bool can_sync = cache.lookup_or_add_cb(node.identifier, [&]() { - if (node.is_type("GeometryNodeEvaluateClosure")) { + if (node.is_type("NodeEvaluateClosure")) { return get_sync_state_evaluate_closure(*snode, node).source_signature.has_value(); } - if (node.is_type("GeometryNodeClosureOutput")) { + if (node.is_type("NodeClosureOutput")) { return get_sync_state_closure_output(*snode, node).source_signature.has_value(); } - if (node.is_type("GeometryNodeCombineBundle")) { + if (node.is_type("NodeCombineBundle")) { return get_sync_state_combine_bundle(*snode, node).source_signature.has_value(); } - if (node.is_type("GeometryNodeSeparateBundle")) { + if (node.is_type("NodeSeparateBundle")) { return get_sync_state_separate_bundle(*snode, node).source_signature.has_value(); } return false; diff --git a/source/blender/nodes/intern/trace_values.cc b/source/blender/nodes/intern/trace_values.cc index 253e774d2a1..4d4c33cd451 100644 --- a/source/blender/nodes/intern/trace_values.cc +++ b/source/blender/nodes/intern/trace_values.cc @@ -20,12 +20,12 @@ namespace blender::nodes { static bool is_evaluate_closure_node_input(const SocketInContext &socket) { return socket->is_input() && socket->index() == 0 && - socket.owner_node()->is_type("GeometryNodeEvaluateClosure"); + socket.owner_node()->is_type("NodeEvaluateClosure"); } static bool is_closure_zone_output_socket(const SocketInContext &socket) { - return socket->owner_node().is_type("GeometryNodeClosureOutput") && socket->is_output(); + return socket->owner_node().is_type("NodeClosureOutput") && socket->is_output(); } static Vector find_origin_sockets_through_contexts( @@ -119,19 +119,19 @@ static Vector find_target_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeCombineBundle")) { - const auto &storage = *static_cast(node->storage); + if (node->is_type("NodeCombineBundle")) { + const auto &storage = *static_cast(node->storage); BundlePath new_bundle_path = bundle_path; new_bundle_path.append(storage.items[socket->index()].name); add_if_new(node.output_socket(0), std::move(new_bundle_path)); continue; } - if (node->is_type("GeometryNodeSeparateBundle")) { + if (node->is_type("NodeSeparateBundle")) { if (bundle_path.is_empty()) { continue; } const StringRef last_key = bundle_path.last(); - const auto &storage = *static_cast(node->storage); + const auto &storage = *static_cast(node->storage); for (const int output_i : IndexRange(storage.items_num)) { if (last_key == storage.items[output_i].name) { add_if_new(node.output_socket(output_i), bundle_path.as_span().drop_back(1)); @@ -139,19 +139,17 @@ static Vector find_target_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeClosureOutput")) { - const auto &closure_storage = *static_cast( - node->storage); + if (node->is_type("NodeClosureOutput")) { + const auto &closure_storage = *static_cast(node->storage); const StringRef key = closure_storage.output_items.items[socket->index()].name; const Vector target_sockets = find_target_sockets_through_contexts( node.output_socket(0), compute_context_cache, is_evaluate_closure_node_input, true); for (const auto &target_socket : target_sockets) { const NodeInContext evaluate_node = target_socket.owner_node(); - const auto &evaluate_storage = *static_cast( + const auto &evaluate_storage = *static_cast( evaluate_node->storage); for (const int i : IndexRange(evaluate_storage.output_items.items_num)) { - const NodeGeometryEvaluateClosureOutputItem &item = - evaluate_storage.output_items.items[i]; + const NodeEvaluateClosureOutputItem &item = evaluate_storage.output_items.items[i]; if (key == item.name) { add_if_new(evaluate_node.output_socket(i), bundle_path); } @@ -159,12 +157,11 @@ static Vector find_target_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeEvaluateClosure")) { + if (node->is_type("NodeEvaluateClosure")) { if (socket->index() == 0) { continue; } - const auto &evaluate_storage = *static_cast( - node->storage); + const auto &evaluate_storage = *static_cast(node->storage); const StringRef key = evaluate_storage.input_items.items[socket->index() - 1].name; const Vector origin_sockets = find_origin_sockets_through_contexts( node.input_socket(0), compute_context_cache, is_closure_zone_output_socket, true); @@ -190,10 +187,10 @@ static Vector find_target_sockets_through_contexts( &node->owner_tree(), ClosureSourceLocation{ &closure_tree, closure_output_node->identifier, origin_socket.context_hash()}); - const auto &closure_output_storage = *static_cast( + const auto &closure_output_storage = *static_cast( closure_output_node->storage); for (const int i : IndexRange(closure_output_storage.input_items.items_num)) { - const NodeGeometryClosureInputItem &item = closure_output_storage.input_items.items[i]; + const NodeClosureInputItem &item = closure_output_storage.input_items.items[i]; if (key == item.name) { add_if_new({&closure_context, &closure_input_node->output_socket(i)}, bundle_path); } @@ -373,16 +370,15 @@ static Vector find_origin_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeEvaluateClosure")) { - const auto &evaluate_storage = *static_cast( - node->storage); + if (node->is_type("NodeEvaluateClosure")) { + const auto &evaluate_storage = *static_cast(node->storage); const StringRef key = evaluate_storage.output_items.items[socket->index()].name; const Vector origin_sockets = find_origin_sockets_through_contexts( node.input_socket(0), compute_context_cache, is_closure_zone_output_socket, true); for (const SocketInContext origin_socket : origin_sockets) { const bNodeTree &closure_tree = origin_socket->owner_tree(); const NodeInContext closure_output_node = origin_socket.owner_node(); - const auto &closure_storage = *static_cast( + const auto &closure_storage = *static_cast( closure_output_node->storage); const ComputeContext &closure_context = compute_context_cache.for_evaluate_closure( node.context, @@ -391,7 +387,7 @@ static Vector find_origin_sockets_through_contexts( ClosureSourceLocation{ &closure_tree, closure_output_node->identifier, origin_socket.context_hash()}); for (const int i : IndexRange(closure_storage.output_items.items_num)) { - const NodeGeometryClosureOutputItem &item = closure_storage.output_items.items[i]; + const NodeClosureOutputItem &item = closure_storage.output_items.items[i]; if (key == item.name) { add_if_new({&closure_context, &closure_output_node->input_socket(i)}, bundle_path); } @@ -399,14 +395,14 @@ static Vector find_origin_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeClosureInput")) { - const auto &input_storage = *static_cast(node->storage); + if (node->is_type("NodeClosureInput")) { + const auto &input_storage = *static_cast(node->storage); const bNode *closure_output_node = node->owner_tree().node_by_id( input_storage.output_node_id); if (!closure_output_node) { continue; } - const auto &output_storage = *static_cast( + const auto &output_storage = *static_cast( closure_output_node->storage); const StringRef key = output_storage.input_items.items[socket->index()].name; const bNodeSocket &closure_output_socket = closure_output_node->output_socket(0); @@ -417,11 +413,10 @@ static Vector find_origin_sockets_through_contexts( true); for (const SocketInContext &target_socket : target_sockets) { const NodeInContext target_node = target_socket.owner_node(); - const auto &evaluate_storage = *static_cast( + const auto &evaluate_storage = *static_cast( target_node.node->storage); for (const int i : IndexRange(evaluate_storage.input_items.items_num)) { - const NodeGeometryEvaluateClosureInputItem &item = - evaluate_storage.input_items.items[i]; + const NodeEvaluateClosureInputItem &item = evaluate_storage.input_items.items[i]; if (key == item.name) { add_if_new(target_node.input_socket(i + 1), bundle_path); } @@ -429,12 +424,12 @@ static Vector find_origin_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeCombineBundle")) { + if (node->is_type("NodeCombineBundle")) { if (bundle_path.is_empty()) { continue; } const StringRef last_key = bundle_path.last(); - const auto &storage = *static_cast(node->storage); + const auto &storage = *static_cast(node->storage); for (const int input_i : IndexRange(storage.items_num)) { if (last_key == storage.items[input_i].name) { add_if_new(node.input_socket(input_i), bundle_path.as_span().drop_back(1)); @@ -442,8 +437,8 @@ static Vector find_origin_sockets_through_contexts( } continue; } - if (node->is_type("GeometryNodeSeparateBundle")) { - const auto &storage = *static_cast(node->storage); + if (node->is_type("NodeSeparateBundle")) { + const auto &storage = *static_cast(node->storage); BundlePath new_bundle_path = bundle_path; new_bundle_path.append(storage.items[socket->index()].name); add_if_new(node.input_socket(0), std::move(new_bundle_path)); @@ -464,7 +459,7 @@ Vector gather_linked_target_bundle_signatures( {bundle_socket_context, &bundle_socket}, compute_context_cache, [](const SocketInContext &socket) { - return socket->is_input() && socket->owner_node().is_type("GeometryNodeSeparateBundle"); + return socket->is_input() && socket->owner_node().is_type("NodeSeparateBundle"); }, true); Vector signatures; @@ -484,7 +479,7 @@ Vector gather_linked_origin_bundle_signatures( {bundle_socket_context, &bundle_socket}, compute_context_cache, [](const SocketInContext &socket) { - return socket->is_output() && socket->owner_node().is_type("GeometryNodeCombineBundle"); + return socket->is_output() && socket->owner_node().is_type("NodeCombineBundle"); }, true); Vector signatures;