diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-11-14 22:50:33 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-11-14 22:57:11 +0300 |
commit | e6ad6ff082ce301caae12f3f73a1bdfb379a1561 (patch) | |
tree | 1f2e49f6bf6b70c03ec720d3c99581ffc4126c2b | |
parent | 77ba1ed5db4754af6788e5ac4e3110d4b81cad0e (diff) |
BMesh: minor improvement to BM_vert_face_check
No need to perform edge-of-vert then loop-of-edge check.
Any vertex that has an edge with a face will be connected to a face.
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c index cd7a1c365b2..de8b994ba4c 100644 --- a/source/blender/bmesh/intern/bmesh_queries.c +++ b/source/blender/bmesh/intern/bmesh_queries.c @@ -869,7 +869,16 @@ int BM_vert_face_count_ex(const BMVert *v, int count_max) */ bool BM_vert_face_check(BMVert *v) { - return v->e && (bmesh_disk_faceedge_find_first(v->e, v) != NULL); + if (v->e != NULL) { + BMEdge *e_iter, *e_first; + e_first = e_iter = v->e; + do { + if (e_iter->l != NULL) { + return true; + } + } while ((e_iter = bmesh_disk_edge_next(e_iter, v)) != e_first); + } + return false; } /** |