diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-01-18 19:29:25 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-01-18 19:29:25 +0400 |
commit | ad3e9900d6219aa84f91c7ff30ee48b7253ca0f1 (patch) | |
tree | 35e8ce5bb011667925802b916d4792c4fbc089df /source/blender | |
parent | 9d782c8a1afb6e42d38d9d32c776dec52451887c (diff) |
call CDDM_from_BMEditMesh without creating tessface data for modifiers.
- in the case of deform modifiers this is very safe (assuming the mods themselves dont need tessface data), since the DM is freed right after, so this is an easy speedup.
- in the case of bevel and split edge modifiers this should still work out fine since mods that need tessface data will generate it.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 2 | ||||
-rw-r--r-- | source/blender/bmesh/intern/bmesh_mesh.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_armature.c | 4 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_array.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_bevel.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_curve.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_edgesplit.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_lattice.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_warp.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgproximity.c | 2 |
11 files changed, 12 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 059297f392a..e6acfbf9617 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -807,7 +807,7 @@ static DerivedMesh *create_orco_dm(Object *ob, Mesh *me, BMEditMesh *em, int lay float (*orco)[3]; int free; - if(em) dm= CDDM_from_BMEditMesh(em, me, FALSE, TRUE); + if(em) dm= CDDM_from_BMEditMesh(em, me, FALSE, FALSE); else dm= CDDM_from_mesh(me, ob); orco= get_orco_coords_dm(ob, em, layer, &free); diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 5babb626177..3bcbb782e82 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -454,7 +454,7 @@ static void contarget_get_mesh_mat (Object *ob, const char *substring, float mat /* get DerivedMesh */ if (em) { /* target is in editmode, so get a special derived mesh */ - dm = CDDM_from_BMEditMesh(em, ob->data, FALSE, TRUE); + dm = CDDM_from_BMEditMesh(em, ob->data, FALSE, FALSE); freeDM= 1; } else { diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c index 2565dd0f649..b1cc30478c0 100644 --- a/source/blender/bmesh/intern/bmesh_mesh.c +++ b/source/blender/bmesh/intern/bmesh_mesh.c @@ -375,7 +375,7 @@ static void bmesh_set_mdisps_space(BMesh *bm, int from, int to) if (CustomData_has_layer(&bm->ldata, CD_MDISPS)) { Object *ob = bm->ob; BMEditMesh *em = BMEdit_Create(bm); - DerivedMesh *dm = CDDM_from_BMEditMesh(em, NULL, TRUE, TRUE); + DerivedMesh *dm = CDDM_from_BMEditMesh(em, NULL, TRUE, FALSE); MDisps *mdisps; BMFace *f; BMIter iter; diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index fe5893d0911..7260e39e982 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -142,7 +142,7 @@ static void deformVertsEM( ArmatureModifierData *amd = (ArmatureModifierData*) md; DerivedMesh *dm = derivedData; - if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, TRUE); + if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE); modifier_vgroup_cache(md, vertexCos); /* if next modifier needs original vertices */ @@ -166,7 +166,7 @@ static void deformMatricesEM( ArmatureModifierData *amd = (ArmatureModifierData*) md; DerivedMesh *dm = derivedData; - if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, TRUE); + if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE); armature_deform_verts(amd->object, ob, dm, vertexCos, defMats, numVerts, amd->deformflag, NULL, amd->defgrp_name); diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 73c4903b277..55f2b745937 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -389,7 +389,7 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, BMO_pop(em->bm); BMEdit_RecalcTesselation(em); - cddm = CDDM_from_BMEditMesh(em, NULL, FALSE, TRUE); + cddm = CDDM_from_BMEditMesh(em, NULL, FALSE, FALSE); BMEdit_Free(em); MEM_freeN(em); diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 7e573697762..3ff6d84f1f6 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -159,7 +159,7 @@ static DerivedMesh *applyModifier(ModifierData *md, struct Object *ob, cddm->release(cddm); } - cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, TRUE); + cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, FALSE); BMEdit_Free(em); MEM_freeN(em); diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index ab9b509ee9c..dcde921f844 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -129,7 +129,7 @@ static void deformVertsEM( { DerivedMesh *dm = derivedData; - if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, TRUE); + if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE); deformVerts(md, ob, dm, vertexCos, numVerts, 0, 0); diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index da5e9ccc45f..571f01d570e 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -108,7 +108,7 @@ static DerivedMesh *doEdgeSplit(DerivedMesh *dm, EdgeSplitModifierData *emd, Obj cddm->release(cddm); } - cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, TRUE); + cddm = CDDM_from_BMEditMesh(em, NULL, TRUE, FALSE); BMEdit_Free(em); MEM_freeN(em); diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 2e8b5e3e6f3..00a634e8838 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -124,7 +124,7 @@ static void deformVertsEM( { DerivedMesh *dm = derivedData; - if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, TRUE); + if(!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE); deformVerts(md, ob, dm, vertexCos, numVerts, 0, 0); diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c index d20a914a531..4d058197be5 100644 --- a/source/blender/modifiers/intern/MOD_warp.c +++ b/source/blender/modifiers/intern/MOD_warp.c @@ -338,7 +338,7 @@ static void deformVertsEM(ModifierData *md, Object *ob, struct BMEditMesh *editD if(use_dm) { if(!derivedData) - dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, TRUE); + dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE); } deformVerts(md, ob, dm, vertexCos, numVerts, 0, 0); diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c b/source/blender/modifiers/intern/MOD_weightvgproximity.c index 022aa150d49..22128784dda 100644 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@ -451,7 +451,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *der else if (obr->type == OB_MESH) { Mesh *me = (Mesh*)obr->data; if (me->edit_btmesh) - target_dm = CDDM_from_BMEditMesh(me->edit_btmesh, me, FALSE, TRUE); + target_dm = CDDM_from_BMEditMesh(me->edit_btmesh, me, FALSE, FALSE); else target_dm = CDDM_from_mesh(me, obr); } |