[Bf-blender-cvs] [97ac88df518] newboolean: Stashing progress.

Howard Trickey noreply at git.blender.org
Mon Dec 2 15:05:54 CET 2019


Commit: 97ac88df518521e31cfc7e4ac6a787ee3c047f41
Author: Howard Trickey
Date:   Wed Nov 20 06:53:19 2019 -0500
Branches: newboolean
https://developer.blender.org/rB97ac88df518521e31cfc7e4ac6a787ee3c047f41

Stashing progress.

===================================================================

M	source/blender/bmesh/tools/bmesh_boolean.c

===================================================================

diff --git a/source/blender/bmesh/tools/bmesh_boolean.c b/source/blender/bmesh/tools/bmesh_boolean.c
index e42e98d6a1c..b62104de2a7 100644
--- a/source/blender/bmesh/tools/bmesh_boolean.c
+++ b/source/blender/bmesh/tools/bmesh_boolean.c
@@ -32,6 +32,7 @@
 #include "BLI_alloca.h"
 #include "BLI_bitmap.h"
 #include "BLI_delaunay_2d.h"
+#include "BLI_ghash.h"
 #include "BLI_linklist.h"
 #include "BLI_math.h"
 #include "BLI_memarena.h"
@@ -1017,18 +1018,20 @@ static int imesh_find_co_db(const IMesh *im, const double co[3], double eps)
 static int imesh_find_edge(const IMesh *im, int v1, int v2)
 {
   BMesh *bm = im->bm;
-  int e;
 
   if (bm) {
+    BMEdge *bme;
+    BMVert *bmv1, *bmv2;
+    BMIter iter;
+
     if (v1 >= bm->totvert || v2 >= bm->totvert) {
       return -1;
     }
-    for (e = 0; e < bm->totedge; e++) {
-      BMEdge *bme = BM_edge_at_index(bm, e);
-      int ev1 = BM_elem_index_get(bme->v1);
-      int ev2 = BM_elem_index_get(bme->v2);
-      if ((ev1 == v1 && ev2 == v2) || (ev1 == v2 && ev2 == v1)) {
-        return e;
+    bmv1 = BM_vert_at_index(bm, v1);
+    bmv2 = BM_vert_at_index(bm, v2);
+    BM_ITER_ELEM(bme, &iter, bmv1, BM_EDGES_OF_VERT) {
+      if (BM_edge_other_vert(bme, bmv1) == bmv2) {
+        return BM_elem_index_get(bme);
       }
     }
     return -1;



More information about the Bf-blender-cvs mailing list