From 3b4c7a8c9b0be2471afb9da46d42078298540f39 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 4 Jun 2018 15:49:11 +0200 Subject: Weight paint: Use helper function to get original mesh Makes it one line to get needed mesh, no code duplication. And can easily update asserts and tighten the nuts. --- source/blender/blenkernel/intern/cdderivedmesh.c | 5 ++--- source/blender/blenkernel/intern/subsurf_ccg.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 562563390c4..f0ee3b4363c 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -46,6 +46,7 @@ #include "BKE_global.h" #include "BKE_mesh.h" #include "BKE_mesh_mapping.h" +#include "BKE_object.h" #include "BKE_paint.h" #include "BKE_editmesh.h" #include "BKE_curve.h" @@ -291,9 +292,7 @@ static PBVH *cdDM_getPBVH(Object *ob, DerivedMesh *dm) * this derivedmesh is just original mesh. it's the multires subsurf dm * that this is actually for, to support a pbvh on a modified mesh */ if (!cddm->pbvh && ob->type == OB_MESH) { - Object *ob_orig = DEG_get_original_object(ob); - Mesh *me = ob_orig->data; - BLI_assert(!(me->id.tag & LIB_TAG_NO_MAIN)); + Mesh *me = BKE_object_get_original_mesh(ob); const int looptris_num = poly_to_tri_count(me->totpoly, me->totloop); MLoopTri *looptri; bool deformed; diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index bc54c554ee4..a64ef7962f1 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -69,6 +69,7 @@ #include "BKE_mesh_mapping.h" #include "BKE_modifier.h" #include "BKE_multires.h" +#include "BKE_object.h" #include "BKE_paint.h" #include "BKE_scene.h" #include "BKE_subsurf.h" @@ -2329,9 +2330,7 @@ static struct PBVH *ccgDM_getPBVH(Object *ob, DerivedMesh *dm) numGrids, &key, (void **) ccgdm->gridFaces, ccgdm->gridFlagMats, ccgdm->gridHidden); } else if (ob->type == OB_MESH) { - Object *ob_orig = DEG_get_original_object(ob); - Mesh *me = ob_orig->data; - BLI_assert(!(me->id.tag & LIB_TAG_NO_MAIN)); + Mesh *me = BKE_object_get_original_mesh(ob); const int looptris_num = poly_to_tri_count(me->totpoly, me->totloop); MLoopTri *looptri; -- cgit v1.2.3