[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