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);
                }

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

Reply via email to