Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeon Schittek <leon.schittek@gmx.net>2022-03-29 23:28:02 +0300
committerLeon Schittek <leon.schittek@gmx.net>2022-03-29 23:30:51 +0300
commit08b4b657b64fe8632f532e732cebdaec73264d66 (patch)
tree55e3d83fc8388cdbc20451544d73601edf25d56b
parent4eb4c90cf6fbce9f94d130f15f417b37b17d80c7 (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
-rw-r--r--release/scripts/startup/bl_operators/geometry_nodes.py3
-rw-r--r--source/blender/editors/object/object_modifier.c3
-rw-r--r--source/blender/modifiers/MOD_nodes.h2
-rw-r--r--source/blender/modifiers/intern/MOD_nodes.cc27
4 files changed, 3 insertions, 32 deletions
diff --git a/release/scripts/startup/bl_operators/geometry_nodes.py b/release/scripts/startup/bl_operators/geometry_nodes.py
index 3616bf52540..746b1800757 100644
--- a/release/scripts/startup/bl_operators/geometry_nodes.py
+++ b/release/scripts/startup/bl_operators/geometry_nodes.py
@@ -50,6 +50,9 @@ class NewGeometryNodesModifier(Operator):
if not modifier:
return {'CANCELLED'}
+ group = geometry_node_group_empty_new()
+ modifier.node_group = group
+
return {'FINISHED'}
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 9039556ea93..0e09fbb7ea4 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -219,9 +219,6 @@ ModifierData *ED_object_modifier_add(
/* ensure skin-node customdata exists */
BKE_mesh_ensure_skin_customdata(ob->data);
}
- else if (type == eModifierType_Nodes) {
- MOD_nodes_init(bmain, (NodesModifierData *)new_md);
- }
}
BKE_object_modifier_set_active(ob, new_md);
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)