[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39863] branches/bmesh/blender/source/ blender: patch [#28463] BMesh: fixes for removedoubles and friends

Campbell Barton ideasman42 at gmail.com
Fri Sep 2 08:48:15 CEST 2011


Revision: 39863
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39863
Author:   campbellbarton
Date:     2011-09-02 06:48:14 +0000 (Fri, 02 Sep 2011)
Log Message:
-----------
patch [#28463] BMesh: fixes for removedoubles and friends
from Andrew Wiggin (ender79)

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c

Modified: branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c	2011-09-02 06:04:54 UTC (rev 39862)
+++ branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c	2011-09-02 06:48:14 UTC (rev 39863)
@@ -477,8 +477,8 @@
 			
 			v2 = verts[j];
 			//if ((v2->co[0]+v2->co[1]+v2->co[2]) - (v->co[0]+v->co[1]+v->co[2])
-			//     > distsqr) break;
-			if ((v2->co[0]-v->co[0]) + (v2->co[1]-v->co[1]) + (v2->co[2]-v->co[2]) > distsqr*4.0f)
+			//     > dist) break;
+			if ((v2->co[0]-v->co[0]) + (v2->co[1]-v->co[1]) + (v2->co[2]-v->co[2]) > dist)
 				break;
 
 			vec[0] = v->co[0] - v2->co[0];
@@ -508,11 +508,10 @@
 	BMVert *v, *v2;
 	BMVert **verts=NULL;
 	BLI_array_declare(verts);
-	float dist, distsqr;
+	float dist;
 	int i, j, len, keepvert;
 
 	dist = BMO_Get_Float(op, "dist");
-	distsqr = dist*dist;
 
 	i = 0;
 	BMO_ITER(v, &oiter, bm, op, "verts", BM_VERT) {
@@ -534,9 +533,9 @@
 		
 		for (j=i+1; j<len; j++) {
 			v2 = verts[j];
-			if ((v2->co[0]+v2->co[1]+v2->co[2]) - (v->co[0]+v->co[1]+v->co[2])
-			     > distsqr) break;
-			
+			if ((v2->co[0]+v2->co[1]+v2->co[2]) - (v->co[0]+v->co[1]+v->co[2]) > dist)
+				break;
+
 			if (keepvert) {
 				if (BMO_TestFlag(bm, v2, VERT_KEEP) == BMO_TestFlag(bm, v, VERT_KEEP))
 					continue;
@@ -561,11 +560,10 @@
 	BMVert *v, *v2;
 	BMVert **verts=NULL;
 	BLI_array_declare(verts);
-	float dist, distsqr;
+	float dist;
 	int i, j, len /* , keepvert */;
 
 	dist = BMO_Get_Float(op, "dist");
-	distsqr = dist*dist;
 
 	i = 0;
 	BMO_ITER(v, &oiter, bm, op, "verts", BM_VERT) {
@@ -588,7 +586,7 @@
 		for (j=i+1; j<len; j++) {
 			v2 = verts[j];
 			if ((v2->co[0]+v2->co[1]+v2->co[2]) - (v->co[0]+v->co[1]+v->co[2])
-			     > distsqr) break;
+			     > dist) break;
 			
 			/* only allow unselected -> selected */
 			if (BMO_TestFlag(bm, v2, VERT_IN))

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2011-09-02 06:04:54 UTC (rev 39862)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2011-09-02 06:48:14 UTC (rev 39863)
@@ -129,7 +129,7 @@
 		if (!em)
 			return;
 
-		BMO_CallOpf(em->bm, "automerge verts=%hv dist=%f", BM_SELECT, scene->toolsettings->doublimit);
+		BMO_CallOpf(em->bm, "automerge verts=%av dist=%f", scene->toolsettings->doublimit);
 		if (update) {
 			DAG_id_tag_update(obedit->data, OB_RECALC_DATA);
 		}




More information about the Bf-blender-cvs mailing list