[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