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) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to