[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