[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43868] branches/bmesh/blender/source/ blender/editors/space_view3d/view3d_snap.c: fix [#30057] Bezier Curve bad centering

Campbell Barton ideasman42 at gmail.com
Fri Feb 3 03:36:12 CET 2012


Revision: 43868
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43868
Author:   campbellbarton
Date:     2012-02-03 02:36:03 +0000 (Fri, 03 Feb 2012)
Log Message:
-----------
fix [#30057] Bezier Curve bad centering

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c

Modified: branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c	2012-02-03 02:06:15 UTC (rev 43867)
+++ branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c	2012-02-03 02:36:03 UTC (rev 43868)
@@ -86,9 +86,11 @@
 	float *val, oldval;
 	int flag;
 	float *nor;
-	int f1;
 } TransVert;
 
+              /* SELECT == (1 << 0) */
+#define TX_VERT_USE_MAPLOC (1 << 1)
+
 static TransVert *transvmain=NULL;
 static int tottrans= 0;
 
@@ -198,9 +200,9 @@
 	TransVert *tv = userdata[1];
 	BMVert *eve = EDBM_get_vert_for_index(em, index);
 	
-	if (BM_GetIndex(eve) != -1 && !tv[BM_GetIndex(eve)].f1) {
+	if (BM_GetIndex(eve) != -1 && !(tv[BM_GetIndex(eve)].flag & TX_VERT_USE_MAPLOC)) {
 		copy_v3_v3(tv[BM_GetIndex(eve)].maploc, co);
-		tv[BM_GetIndex(eve)].f1 = 1;
+		tv[BM_GetIndex(eve)].flag |= TX_VERT_USE_MAPLOC;
 	}
 }
 
@@ -312,11 +314,6 @@
 			EDBM_init_index_arrays(em, 1, 0, 0);
 			em->derivedCage->foreachMappedVert(em->derivedCage, set_mapped_co, userdata);
 			EDBM_free_index_arrays(em);
-		} else if (transvmain) {
-			tv = transvmain;
-			for (a=0; a<tottrans; a++, tv++) {
-				copy_v3_v3(tv->maploc, tv->loc);
-			}
 		}
 	}
 	else if (obedit->type==OB_ARMATURE){
@@ -1072,7 +1069,7 @@
 	
 	tv= transvmain;
 	for(a=0; a<tottrans; a++, tv++) {
-		copy_v3_v3(vec, tv->maploc);
+		copy_v3_v3(vec, (tv->flag & TX_VERT_USE_MAPLOC) ? tv->maploc : tv->loc);
 		mul_m3_v3(bmat, vec);
 		add_v3_v3(vec, obedit->obmat[3]);
 		add_v3_v3(centroid, vec);




More information about the Bf-blender-cvs mailing list