diff options
Diffstat (limited to 'source/blender/modifiers/intern')
-rw-r--r-- | source/blender/modifiers/intern/MOD_array.c | 5 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_bevel.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_edgesplit.c | 6 |
3 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 55f2b745937..06f65e06703 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -208,7 +208,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, int UNUSED(initFlags)) { DerivedMesh *cddm = dm; //copying shouldn't be necassary here, as all modifiers return CDDM's - BMEditMesh *em = CDDM_To_BMesh(ob, cddm, NULL); + BMEditMesh *em = CDDM_To_BMesh(ob, cddm, NULL, FALSE); BMOperator op, oldop, weldop; int i, j, indexLen; /* offset matrix */ @@ -385,10 +385,9 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, BMO_Finish_Op(em->bm, &weldop); /* Bump the stack level back down to match the adjustment up above */ - bmesh_end_edit(em->bm, 0); BMO_pop(em->bm); - BMEdit_RecalcTesselation(em); + BLI_assert(em->looptris == NULL); cddm = CDDM_from_BMEditMesh(em, NULL, FALSE, FALSE); BMEdit_Free(em); diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index dc2a3588884..75136e444e6 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -123,7 +123,7 @@ static DerivedMesh *applyModifier(ModifierData *md, struct Object *ob, cddm = CDDM_copy(dm, 0); } else cddm = dm; - em = CDDM_To_BMesh(ob, dm, NULL); + em = CDDM_To_BMesh(ob, dm, NULL, FALSE); bm = em->bm; BM_Compute_Normals(bm); @@ -152,13 +152,13 @@ static DerivedMesh *applyModifier(ModifierData *md, struct Object *ob, BMO_CallOpf(bm, "bevel geom=%fe percent=%f use_even=%i use_dist=%i", EDGE_MARK, bmd->value, (bmd->flags & BME_BEVEL_EVEN)!=0, (bmd->flags & BME_BEVEL_DIST)!=0); BMO_pop(bm); - BMEdit_RecalcTesselation(em); if (cddm != dm) { cddm->needsFree = 1; cddm->release(cddm); } + BLI_assert(em->looptris == NULL); cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, FALSE); BMEdit_Free(em); MEM_freeN(em); diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 809a35fa4f2..b44eeb1b816 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -71,7 +71,7 @@ static DerivedMesh *doEdgeSplit(DerivedMesh *dm, EdgeSplitModifierData *emd, Obj cddm = CDDM_copy(dm, 0); } else cddm = dm; - em = CDDM_To_BMesh(ob, dm, NULL); + em = CDDM_To_BMesh(ob, dm, NULL, FALSE); bm = em->bm; BM_Compute_Normals(bm); @@ -101,13 +101,13 @@ static DerivedMesh *doEdgeSplit(DerivedMesh *dm, EdgeSplitModifierData *emd, Obj BMO_CallOpf(bm, "edgesplit edges=%fe", EDGE_MARK); BMO_pop(bm); - BMEdit_RecalcTesselation(em); if (cddm != dm) { cddm->needsFree = 1; cddm->release(cddm); } - + + BLI_assert(em->looptris == NULL); cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, FALSE); BMEdit_Free(em); MEM_freeN(em); |