From c02baf8b50db1fa8053ec09f4e9588c430ca01d0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 12 Jun 2020 12:51:57 +1000 Subject: Cleanup: use BKE_ prefix for deform functions --- source/blender/modifiers/intern/MOD_lattice.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_lattice.c') diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 4d96638fc83..27f556397be 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -113,14 +113,14 @@ static void deformVerts(ModifierData *md, MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ - lattice_deform_verts(lmd->object, - ctx->object, - mesh_src, - vertexCos, - numVerts, - lmd->flag, - lmd->name, - lmd->strength); + BKE_lattice_deform_coords(lmd->object, + ctx->object, + mesh_src, + vertexCos, + numVerts, + lmd->flag, + lmd->name, + lmd->strength); if (!ELEM(mesh_src, NULL, mesh)) { BKE_id_free(NULL, mesh_src); -- cgit v1.2.3 From 24d39620fb7299590220af8ea3cb4d61fdb0c9a2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 12 Jun 2020 13:07:50 +1000 Subject: Cleanup: split deform functions that take target object-data Prefer meaningful function names over redundant NULL arguments. Also clarify variable names as it wasn't obvious the object-data is part of the object target. --- source/blender/modifiers/intern/MOD_lattice.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_lattice.c') diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 27f556397be..a6eaf7e78aa 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -113,14 +113,14 @@ static void deformVerts(ModifierData *md, MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ - BKE_lattice_deform_coords(lmd->object, - ctx->object, - mesh_src, - vertexCos, - numVerts, - lmd->flag, - lmd->name, - lmd->strength); + BKE_lattice_deform_coords_with_mesh(lmd->object, + ctx->object, + vertexCos, + numVerts, + lmd->flag, + lmd->name, + lmd->strength, + mesh_src); if (!ELEM(mesh_src, NULL, mesh)) { BKE_id_free(NULL, mesh_src); -- cgit v1.2.3 From 9f5833798caf9581c2d781f4e2f8b95acb1560e0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 13 Jun 2020 13:14:07 +1000 Subject: Modifier: skip edit-mesh conversion for armature, curve & lattice This is an improvement over 2.7x which converted edit-mesh to mesh (CDDM) for all 3 modifiers. Overall this increases performance in edit-mode by around 15-20%. --- source/blender/modifiers/intern/MOD_lattice.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_lattice.c') diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index a6eaf7e78aa..574ea969be4 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -130,23 +130,16 @@ static void deformVerts(ModifierData *md, static void deformVertsEM(ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *em, - struct Mesh *mesh, + struct Mesh *UNUSED(mesh), float (*vertexCos)[3], int numVerts) { - struct Mesh *mesh_src = MOD_deform_mesh_eval_get( - ctx->object, em, mesh, NULL, numVerts, false, false); - - /* TODO(Campbell): use edit-mode data only (remove this line). */ - if (mesh_src != NULL) { - BKE_mesh_wrapper_ensure_mdata(mesh_src); - } + LatticeModifierData *lmd = (LatticeModifierData *)md; - deformVerts(md, ctx, mesh_src, vertexCos, numVerts); + MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */ - if (!ELEM(mesh_src, NULL, mesh)) { - BKE_id_free(NULL, mesh_src); - } + BKE_lattice_deform_coords_with_editmesh( + lmd->object, ctx->object, vertexCos, numVerts, lmd->flag, lmd->name, lmd->strength, em); } static void panel_draw(const bContext *C, Panel *panel) -- cgit v1.2.3