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.
This commit is contained in:
Jacques Lucke
2022-12-17 14:46:15 +01:00
parent c18055ba5c
commit 28511ac6cf

View File

@@ -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,