From 1b910082a0effdeb06653203b1d773094a2068e5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 9 Oct 2018 16:52:46 +1100 Subject: Edit Mesh: replace DerivedMesh w/ Mesh DerivedMesh is now removed from edit-mesh modifier evaluation. --- .../editors/space_view3d/view3d_iterators.c | 23 +++++++--------------- source/blender/editors/util/ed_transverts.c | 5 +++-- 2 files changed, 10 insertions(+), 18 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/space_view3d/view3d_iterators.c b/source/blender/editors/space_view3d/view3d_iterators.c index 499331639c4..1a3b0bf64cd 100644 --- a/source/blender/editors/space_view3d/view3d_iterators.c +++ b/source/blender/editors/space_view3d/view3d_iterators.c @@ -43,6 +43,7 @@ #include "BKE_editmesh.h" #include "BKE_context.h" #include "BKE_mesh_runtime.h" +#include "BKE_mesh_iterators.h" #include "DEG_depsgraph.h" #include "DEG_depsgraph_query.h" @@ -158,9 +159,8 @@ void mesh_foreachScreenVert( void *userData, eV3DProjTest clip_flag) { foreachScreenVert_userData data; - DerivedMesh *dm; - dm = editbmesh_get_derived_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); + Mesh *me = editbmesh_get_eval_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); ED_view3d_check_mats_rv3d(vc->rv3d); @@ -174,9 +174,7 @@ void mesh_foreachScreenVert( } BM_mesh_elem_table_ensure(vc->em->bm, BM_VERT); - dm->foreachMappedVert(dm, mesh_foreachScreenVert__mapFunc, &data, DM_FOREACH_NOP); - - dm->release(dm); + BKE_mesh_foreach_mapped_vert(me, mesh_foreachScreenVert__mapFunc, &data, MESH_FOREACH_NOP); } /* ------------------------------------------------------------------------ */ @@ -214,9 +212,8 @@ void mesh_foreachScreenEdge( void *userData, eV3DProjTest clip_flag) { foreachScreenEdge_userData data; - DerivedMesh *dm; - dm = editbmesh_get_derived_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); + Mesh *me = editbmesh_get_eval_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); ED_view3d_check_mats_rv3d(vc->rv3d); @@ -236,9 +233,7 @@ void mesh_foreachScreenEdge( } BM_mesh_elem_table_ensure(vc->em->bm, BM_EDGE); - dm->foreachMappedEdge(dm, mesh_foreachScreenEdge__mapFunc, &data); - - dm->release(dm); + BKE_mesh_foreach_mapped_edge(me, mesh_foreachScreenEdge__mapFunc, &data); } /* ------------------------------------------------------------------------ */ @@ -262,10 +257,8 @@ void mesh_foreachScreenFace( void *userData, const eV3DProjTest clip_flag) { foreachScreenFace_userData data; - DerivedMesh *dm; - - dm = editbmesh_get_derived_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); + Mesh *me = editbmesh_get_eval_cage(vc->depsgraph, vc->scene, vc->obedit, vc->em, CD_MASK_BAREMESH); ED_view3d_check_mats_rv3d(vc->rv3d); data.vc = *vc; @@ -274,9 +267,7 @@ void mesh_foreachScreenFace( data.clip_flag = clip_flag; BM_mesh_elem_table_ensure(vc->em->bm, BM_FACE); - dm->foreachMappedFaceCenter(dm, mesh_foreachScreenFace__mapFunc, &data, DM_FOREACH_NOP); - - dm->release(dm); + BKE_mesh_foreach_mapped_face_center(me, mesh_foreachScreenFace__mapFunc, &data, MESH_FOREACH_NOP); } /* ------------------------------------------------------------------------ */ diff --git a/source/blender/editors/util/ed_transverts.c b/source/blender/editors/util/ed_transverts.c index 3cd74f1266f..583d1116eec 100644 --- a/source/blender/editors/util/ed_transverts.c +++ b/source/blender/editors/util/ed_transverts.c @@ -43,6 +43,7 @@ #include "BKE_editmesh.h" #include "BKE_DerivedMesh.h" #include "BKE_context.h" +#include "BKE_mesh_iterators.h" #include "DEG_depsgraph.h" @@ -304,9 +305,9 @@ void ED_transverts_create_from_obedit(TransVertStore *tvs, Object *obedit, const userdata[1] = tvs->transverts; } - if (tvs->transverts && em->derivedCage) { + if (tvs->transverts && em->mesh_eval_cage) { BM_mesh_elem_table_ensure(bm, BM_VERT); - em->derivedCage->foreachMappedVert(em->derivedCage, set_mapped_co, userdata, DM_FOREACH_NOP); + BKE_mesh_foreach_mapped_vert(em->mesh_eval_cage, set_mapped_co, userdata, MESH_FOREACH_NOP); } } else if (obedit->type == OB_ARMATURE) { -- cgit v1.2.3