Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/modifiers/intern')
-rw-r--r--source/blender/modifiers/intern/MOD_array.c5
-rw-r--r--source/blender/modifiers/intern/MOD_bevel.c4
-rw-r--r--source/blender/modifiers/intern/MOD_edgesplit.c6
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);