[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43492] branches/bmesh/blender/source/ blender/blenkernel/intern/cdderivedmesh.c: fix for editmode bmesh bug - found by testing script.
Campbell Barton
ideasman42 at gmail.com
Wed Jan 18 15:52:51 CET 2012
Revision: 43492
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43492
Author: campbellbarton
Date: 2012-01-18 14:52:47 +0000 (Wed, 18 Jan 2012)
Log Message:
-----------
fix for editmode bmesh bug - found by testing script.
incorrect flag handling in CDDM_from_BMEditMesh() broke editmode deform verts (they would never be copied), issue was exposed when re-aligning layer values with trunk.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-01-18 12:31:41 UTC (rev 43491)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2012-01-18 14:52:47 UTC (rev 43492)
@@ -1978,34 +1978,34 @@
MFace *mface = cddm->mface;
MLoop *mloop = cddm->mloop;
MPoly *mpoly = cddm->mpoly;
- int numCol = CustomData_number_of_layers(&em->bm->ldata, CD_MLOOPCOL);
- int numTex = CustomData_number_of_layers(&em->bm->pdata, CD_MTEXPOLY);
+ int numCol = CustomData_number_of_layers(&bm->ldata, CD_MLOOPCOL);
+ int numTex = CustomData_number_of_layers(&bm->pdata, CD_MTEXPOLY);
int *index, *polyindex, add_orig;
int has_crease, has_edge_bweight, has_vert_bweight;
- int flag;
+ CustomDataMask mask;
unsigned int i, j;
- has_edge_bweight = CustomData_has_layer(&em->bm->edata, CD_BWEIGHT);
- has_vert_bweight = CustomData_has_layer(&em->bm->vdata, CD_BWEIGHT);
- has_crease = CustomData_has_layer(&em->bm->edata, CD_CREASE);
+ has_edge_bweight = CustomData_has_layer(&bm->edata, CD_BWEIGHT);
+ has_vert_bweight = CustomData_has_layer(&bm->vdata, CD_BWEIGHT);
+ has_crease = CustomData_has_layer(&bm->edata, CD_CREASE);
dm->deformedOnly = 1;
/*don't add origindex layer if one already exists*/
- add_orig = !CustomData_has_layer(&em->bm->pdata, CD_ORIGINDEX);
+ add_orig = !CustomData_has_layer(&bm->pdata, CD_ORIGINDEX);
- flag = use_mdisps ? CD_MASK_DERIVEDMESH|CD_MASK_MDISPS : CD_MASK_DERIVEDMESH;
+ mask = use_mdisps ? CD_MASK_DERIVEDMESH|CD_MASK_MDISPS : CD_MASK_DERIVEDMESH;
/*don't process shapekeys, we only feed them through the modifier stack as needed,
e.g. for applying modifiers or the like*/
- flag &= ~CD_SHAPEKEY;
- CustomData_merge(&em->bm->vdata, &dm->vertData, flag,
+ mask &= ~CD_MASK_SHAPEKEY;
+ CustomData_merge(&bm->vdata, &dm->vertData, mask,
CD_CALLOC, dm->numVertData);
- CustomData_merge(&em->bm->edata, &dm->edgeData, flag,
+ CustomData_merge(&bm->edata, &dm->edgeData, mask,
CD_CALLOC, dm->numEdgeData);
- CustomData_merge(&em->bm->ldata, &dm->loopData, flag,
+ CustomData_merge(&bm->ldata, &dm->loopData, mask,
CD_CALLOC, dm->numLoopData);
- CustomData_merge(&em->bm->pdata, &dm->polyData, flag,
+ CustomData_merge(&bm->pdata, &dm->polyData, mask,
CD_CALLOC, dm->numPolyData);
/*add tesselation mface layers*/
@@ -2056,7 +2056,7 @@
}
bm->elem_index_dirty &= ~BM_EDGE;
- BM_ElemIndex_Ensure(em->bm, BM_FACE);
+ BM_ElemIndex_Ensure(bm, BM_FACE);
polyindex = dm->getTessFaceDataArray(dm, CD_POLYINDEX);
index = dm->getTessFaceDataArray(dm, CD_ORIGINDEX);
More information about the Bf-blender-cvs
mailing list