Revision: 36587
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36587
Author:   joeedh
Date:     2011-05-09 22:16:31 +0000 (Mon, 09 May 2011)
Log Message:
-----------
=bmesh= fixed mesh deform crasher

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c

Modified: 
branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c  
2011-05-09 22:07:31 UTC (rev 36586)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c  
2011-05-09 22:16:31 UTC (rev 36587)
@@ -1409,7 +1409,7 @@
        bmDM_loopIter loopiter;
 } bmDM_faceIter;
 
-void bmDM_faceIterStep(void *self)
+static void bmDM_faceIterStep(void *self)
 {
        bmDM_faceIter *iter = self;
        
@@ -1431,7 +1431,7 @@
        if (!iter->nextf) iter->head.done = 1;
 }
 
-void *bmDM_getFaceCDData(void *self, int type, int layer)
+static void *bmDM_getFaceCDData(void *self, int type, int layer)
 {
        bmDM_faceIter *iter = self;
 
@@ -1440,7 +1440,7 @@
        else return CustomData_bmesh_get_n(&iter->bm->pdata, 
iter->f->head.data, type, layer);
 }
 
-void bmDM_loopIterStep(void *self)
+static void bmDM_loopIterStep(void *self)
 {
        bmDM_loopIter *iter = self;
 
@@ -1456,7 +1456,7 @@
        iter->head.eindex = BMINDEX_GET(iter->l->e);
 }
 
-void *bmDM_getLoopCDData(void *self, int type, int layer)
+static void *bmDM_getLoopCDData(void *self, int type, int layer)
 {
        bmDM_loopIter *iter = self;
 
@@ -1465,7 +1465,7 @@
        else return CustomData_bmesh_get_n(&iter->bm->ldata, 
iter->l->head.data, type, layer);
 }
 
-void *bmDM_getVertCDData(void *self, int type, int layer)
+static void *bmDM_getVertCDData(void *self, int type, int layer)
 {
        bmDM_loopIter *iter = self;
 
@@ -1479,7 +1479,7 @@
        MEM_freeN(self);
 }
 
-void bmDM_nulliterFree(void *UNUSED(self))
+static void bmDM_nulliterFree(void *UNUSED(self))
 {
 }
 
@@ -1541,6 +1541,24 @@
        return (DMFaceIter*) iter;
 }
 
+static void bmDM_getVertCos(DerivedMesh *dm, float (*cos_r)[3])
+{
+       EditDerivedBMesh *emdm= (EditDerivedBMesh*) dm;
+       BMVert *eve;
+       BMIter iter;
+       int i;
+       
+       BM_ITER(eve, &iter, emdm->tc->bm, BM_VERTS_OF_MESH, NULL) {
+               if (emdm->vertexCos) {
+                       copy_v3_v3(cos_r[i], emdm->vertexCos[i]);
+               } else {
+                       copy_v3_v3(cos_r[i], eve->co);
+               }
+               
+               i++;
+       }
+}
+
 static void bmDM_release(DerivedMesh *dm)
 {
        EditDerivedBMesh *bmdm= (EditDerivedBMesh *)dm;
@@ -1625,7 +1643,8 @@
        bmdm->dm.numFaceData = em->tottri;
        bmdm->dm.numLoopData = bm->totloop;
        bmdm->dm.numPolyData = bm->totface;
-
+       
+       bmdm->dm.getVertCos = bmDM_getVertCos;
        bmdm->dm.getMinMax = bmDM_getMinMax;
 
        bmdm->dm.getVertDataLayout = bmDm_getVertDataLayout;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to