[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41291] branches/bmesh/blender/source/ blender/editors: workaround for createTransEditVerts overwriting index data to fix mirror.
Campbell Barton
ideasman42 at gmail.com
Wed Oct 26 12:04:10 CEST 2011
Revision: 41291
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41291
Author: campbellbarton
Date: 2011-10-26 10:04:10 +0000 (Wed, 26 Oct 2011)
Log Message:
-----------
workaround for createTransEditVerts overwriting index data to fix mirror.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2011-10-26 09:54:10 UTC (rev 41290)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2011-10-26 10:04:10 UTC (rev 41291)
@@ -813,7 +813,17 @@
li = CustomData_get_named_layer_index(&em->bm->vdata, CD_PROP_INT, "__mirror_index");
em->bm->vdata.layers[li].flag |= CD_FLAG_TEMPORARY;
+ /* BMESH_TODO, we should STOP overwriting the vertex index data with bad
+ * indicies, once createTransEditVerts() stops doing this, this loop can be
+ * removed - campbell */
+ i= 0;
BM_ITER(v, &iter, em->bm, BM_VERTS_OF_MESH, NULL) {
+ BM_SetIndex(v, i++);
+ }
+ /* END BMESH_TODO */
+
+
+ BM_ITER(v, &iter, em->bm, BM_VERTS_OF_MESH, NULL) {
BMVert *mirr;
int *idx = CustomData_bmesh_get_layer_n(&em->bm->vdata, v->head.data, li);
float co[3] = {-v->co[0], v->co[1], v->co[2]};
Modified: branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-10-26 09:54:10 UTC (rev 41290)
+++ branches/bmesh/blender/source/blender/editors/transform/transform_conversions.c 2011-10-26 10:04:10 UTC (rev 41291)
@@ -2084,6 +2084,9 @@
selectmode = SCE_SELECT_EDGE;
}
+ /* BMESH_TODO, writing into the index values is BAD!, means we cant
+ * use the values for vertex mirror - campbell */
+
// transform now requires awareness for select mode, so we tag the f1 flags in verts
if(selectmode & SCE_SELECT_VERTEX) {
BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
More information about the Bf-blender-cvs
mailing list