diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-24 23:58:16 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-24 23:58:16 +0400 |
commit | 2d2f5f59d72060dd0e56ed5d03addac129f64a94 (patch) | |
tree | 74b3d431fdece27cc34fef09e83428171694a10d /source/blender/bmesh/intern/bmesh_queries.c | |
parent | 19496ab62a55a02e930eff3d7b735d9540bf01dd (diff) |
dyn-topo: maintain materials for new faces.
also minor optimization for BM_edge_in_face(), check edges radial loops rather then the faces edges
since normally there are 0-2 faces attached to an edge compared to 3+ edges in a face.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c index 8f5e25f5fd7..9dc5ae61d61 100644 --- a/source/blender/bmesh/intern/bmesh_queries.c +++ b/source/blender/bmesh/intern/bmesh_queries.c @@ -338,16 +338,16 @@ bool BM_verts_in_face(BMFace *f, BMVert **varr, int len) */ bool BM_edge_in_face(BMFace *f, BMEdge *e) { - BMLoop *l_iter; - BMLoop *l_first; - - l_iter = l_first = BM_FACE_FIRST_LOOP(f); + if (e->l) { + BMLoop *l_iter, *l_first; - do { - if (l_iter->e == e) { - return true; - } - } while ((l_iter = l_iter->next) != l_first); + l_iter = l_first = e->l; + do { + if (l_iter->f == f) { + return true; + } + } while ((l_iter = l_iter->radial_next) != l_first); + } return false; } |