[Bf-blender-cvs] [28511ac6cf8] master: Fix T103294: bring back modifyMesh function for geometry nodes modifier

Jacques Lucke noreply at git.blender.org
Sat Dec 17 14:46:34 CET 2022


Commit: 28511ac6cf83dfd56026125ff97630becb44fdf2
Author: Jacques Lucke
Date:   Sat Dec 17 14:46:15 2022 +0100
Branches: master
https://developer.blender.org/rB28511ac6cf83dfd56026125ff97630becb44fdf2

Fix T103294: bring back modifyMesh function for geometry nodes modifier

This was removed inrBb1494bcea7b6bb608 under the assumption that
it is not needed anymore. Apparently it is, so this commit brings it back.

===================================================================

M	source/blender/modifiers/intern/MOD_nodes.cc

===================================================================

diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc
index 64261ae5b10..f5ede42b0ad 100644
--- a/source/blender/modifiers/intern/MOD_nodes.cc
+++ b/source/blender/modifiers/intern/MOD_nodes.cc
@@ -1309,6 +1309,19 @@ static void modifyGeometry(ModifierData *md,
   }
 }
 
+static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
+{
+  GeometrySet geometry_set = GeometrySet::create_with_mesh(mesh, GeometryOwnershipType::Editable);
+
+  modifyGeometry(md, ctx, geometry_set);
+
+  Mesh *new_mesh = geometry_set.get_component_for_write<MeshComponent>().release();
+  if (new_mesh == nullptr) {
+    return BKE_mesh_new_nomain(0, 0, 0, 0, 0);
+  }
+  return new_mesh;
+}
+
 static void modifyGeometrySet(ModifierData *md,
                               const ModifierEvalContext *ctx,
                               GeometrySet *geometry_set)
@@ -1869,7 +1882,7 @@ ModifierTypeInfo modifierType_Nodes = {
     /* deformMatrices */ nullptr,
     /* deformVertsEM */ nullptr,
     /* deformMatricesEM */ nullptr,
-    /* modifyMesh */ nullptr,
+    /* modifyMesh */ modifyMesh,
     /* modifyGeometrySet */ modifyGeometrySet,
 
     /* initData */ initData,



More information about the Bf-blender-cvs mailing list