From b7174c9320c5e3446d8237059841d982279e32e9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 1 Nov 2014 23:31:01 +0100 Subject: Fix connect-vertices failing for concave ngons Also add: - generic callback for bmesh elements. - ability to pass an existing array to a bmesh operator. --- source/blender/bmesh/intern/bmesh_queries.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'source/blender/bmesh/intern/bmesh_queries.c') diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c index f301108a6ae..ca40cf9e6c8 100644 --- a/source/blender/bmesh/intern/bmesh_queries.c +++ b/source/blender/bmesh/intern/bmesh_queries.c @@ -202,6 +202,26 @@ bool BM_vert_pair_share_face_check( return false; } +bool BM_vert_pair_share_face_check_cb( + BMVert *v_a, BMVert *v_b, + bool (*test_fn)(BMFace *, void *user_data), void *user_data) +{ + if (v_a->e && v_b->e) { + BMIter iter; + BMFace *f; + + BM_ITER_ELEM (f, &iter, v_a, BM_FACES_OF_VERT) { + if (test_fn(f, user_data)) { + if (BM_vert_in_face(f, v_b)) { + return true; + } + } + } + } + + return false; +} + /** * Given 2 verts, find the smallest face they share and give back both loops. */ -- cgit v1.2.3