diff options
author | Leon Schittek <leon.schittek@gmx.net> | 2022-03-29 23:28:02 +0300 |
---|---|---|
committer | Leon Schittek <leon.schittek@gmx.net> | 2022-03-29 23:30:51 +0300 |
commit | 08b4b657b64fe8632f532e732cebdaec73264d66 (patch) | |
tree | 55e3d83fc8388cdbc20451544d73601edf25d56b /source/blender/modifiers | |
parent | 4eb4c90cf6fbce9f94d130f15f417b37b17d80c7 (diff) |
Geometry Nodes: Don't create node tree when adding nodes modifier
Don't always create a new geometry nodes node tree when adding a
geometry nodes modifier.
This avoids files getting cluttered with empty and unused geometry node
trees that are created every time a nodes modifier is added to an
object - even if only to apply an already existing.
This is also more consistent with other modifiers that also don't
automatically create new data blocks.
The new modifier still automatically gets populated with a new node
tree when adding it via the "New" button in the header of the
geometry nodes editor.
Reviewed By: Hans Goudey, Dalai Felinto, Pablo Vazquez
Differential Revision: D14458
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/MOD_nodes.h | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_nodes.cc | 27 |
2 files changed, 0 insertions, 29 deletions
diff --git a/source/blender/modifiers/MOD_nodes.h b/source/blender/modifiers/MOD_nodes.h index 053fb6e3244..4a3ccd8ecd1 100644 --- a/source/blender/modifiers/MOD_nodes.h +++ b/source/blender/modifiers/MOD_nodes.h @@ -17,8 +17,6 @@ extern "C" { */ void MOD_nodes_update_interface(struct Object *object, struct NodesModifierData *nmd); -void MOD_nodes_init(struct Main *bmain, struct NodesModifierData *nmd); - #ifdef __cplusplus } #endif diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc index e94f8e50fec..182405652a6 100644 --- a/source/blender/modifiers/intern/MOD_nodes.cc +++ b/source/blender/modifiers/intern/MOD_nodes.cc @@ -732,33 +732,6 @@ void MOD_nodes_update_interface(Object *object, NodesModifierData *nmd) DEG_id_tag_update(&object->id, ID_RECALC_GEOMETRY); } -void MOD_nodes_init(Main *bmain, NodesModifierData *nmd) -{ - bNodeTree *ntree = ntreeAddTree(bmain, "Geometry Nodes", ntreeType_Geometry->idname); - nmd->node_group = ntree; - - ntreeAddSocketInterface(ntree, SOCK_IN, "NodeSocketGeometry", "Geometry"); - ntreeAddSocketInterface(ntree, SOCK_OUT, "NodeSocketGeometry", "Geometry"); - - bNode *group_input_node = nodeAddStaticNode(nullptr, ntree, NODE_GROUP_INPUT); - bNode *group_output_node = nodeAddStaticNode(nullptr, ntree, NODE_GROUP_OUTPUT); - - nodeSetSelected(group_input_node, false); - nodeSetSelected(group_output_node, false); - - group_input_node->locx = -200 - group_input_node->width; - group_output_node->locx = 200; - group_output_node->flag |= NODE_DO_OUTPUT; - - nodeAddLink(ntree, - group_output_node, - (bNodeSocket *)group_output_node->inputs.first, - group_input_node, - (bNodeSocket *)group_input_node->outputs.first); - - BKE_ntree_update_main_tree(bmain, ntree, nullptr); -} - static void initialize_group_input(NodesModifierData &nmd, const OutputSocketRef &socket, void *r_value) |