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