[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