Revision: 43496
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43496
Author:   campbellbarton
Date:     2012-01-18 15:29:25 +0000 (Wed, 18 Jan 2012)
Log Message:
-----------
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.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
    branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mesh.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_armature.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_bevel.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_curve.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_lattice.c
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_warp.c
    
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvgproximity.c

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c       
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c       
2012-01-18 15:29:25 UTC (rev 43496)
@@ -807,7 +807,7 @@
        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);

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c        
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c        
2012-01-18 15:29:25 UTC (rev 43496)
@@ -454,7 +454,7 @@
        /* 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 {

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mesh.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mesh.c     
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mesh.c     
2012-01-18 15:29:25 UTC (rev 43496)
@@ -375,7 +375,7 @@
        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;

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_armature.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_armature.c       
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_armature.c       
2012-01-18 15:29:25 UTC (rev 43496)
@@ -142,7 +142,7 @@
        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 @@
        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);

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c  
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c  
2012-01-18 15:29:25 UTC (rev 43496)
@@ -389,7 +389,7 @@
        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);

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_bevel.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_bevel.c  
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_bevel.c  
2012-01-18 15:29:25 UTC (rev 43496)
@@ -159,7 +159,7 @@
                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);
 

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_curve.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_curve.c  
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_curve.c  
2012-01-18 15:29:25 UTC (rev 43496)
@@ -129,7 +129,7 @@
 {
        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);
 

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c      
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_edgesplit.c      
2012-01-18 15:29:25 UTC (rev 43496)
@@ -108,7 +108,7 @@
                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);
        

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_lattice.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_lattice.c        
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_lattice.c        
2012-01-18 15:29:25 UTC (rev 43496)
@@ -124,7 +124,7 @@
 {
        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);
 

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_warp.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_warp.c   
2012-01-18 15:23:36 UTC (rev 43495)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_warp.c   
2012-01-18 15:29:25 UTC (rev 43496)
@@ -338,7 +338,7 @@
 
        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);

Modified: 
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvgproximity.c
===================================================================
--- 
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvgproximity.c  
    2012-01-18 15:23:36 UTC (rev 43495)
+++ 
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvgproximity.c  
    2012-01-18 15:29:25 UTC (rev 43496)
@@ -451,7 +451,7 @@
                                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);
                                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to