Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-03-12 11:21:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-03-12 11:30:38 +0400
commit4ae6c5cd7799a2d91c7109d061151b45a4e83c48 (patch)
tree7b590933fb5b298bdbd7db5600fafdee56749f7e /source/blender/bmesh/intern
parent5db086b7ce7146fcf0661f387aeeba676e1d08c9 (diff)
BMesh: minor optimization, step over own loop in BM_face_exists
Diffstat (limited to 'source/blender/bmesh/intern')
-rw-r--r--source/blender/bmesh/intern/bmesh_queries.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c
index e66af07eeac..5a0aae28175 100644
--- a/source/blender/bmesh/intern/bmesh_queries.c
+++ b/source/blender/bmesh/intern/bmesh_queries.c
@@ -1441,8 +1441,8 @@ BMEdge *BM_edge_find_double(BMEdge *e)
bool BM_face_exists(BMVert **varr, int len, BMFace **r_existface)
{
BMVert *v_search = varr[0]; /* we can search any of the verts in the array */
- BMIter viter;
- BMFace *f;
+ BMIter liter;
+ BMLoop *l_search;
#if 0
@@ -1470,8 +1470,8 @@ bool BM_face_exists(BMVert **varr, int len, BMFace **r_existface)
int i;
- BM_ITER_ELEM (f, &viter, v_search, BM_FACES_OF_VERT) {
- if (f->len == len) {
+ BM_ITER_ELEM (l_search, &liter, v_search, BM_LOOPS_OF_VERT) {
+ if (l_search->f->len == len) {
if (is_init == false) {
is_init = true;
for (i = 0; i < len; i++) {
@@ -1484,21 +1484,21 @@ bool BM_face_exists(BMVert **varr, int len, BMFace **r_existface)
{
BMLoop *l_iter;
- BMLoop *l_first;
- l_iter = l_first = BM_FACE_FIRST_LOOP(f);
+ /* skip ourselves */
+ l_iter = l_search->next;
do {
if (!BM_ELEM_API_FLAG_TEST(l_iter->v, _FLAG_OVERLAP)) {
is_found = false;
break;
}
- } while ((l_iter = l_iter->next) != l_first);
+ } while ((l_iter = l_iter->next) != l_search);
}
if (is_found) {
if (r_existface) {
- *r_existface = f;
+ *r_existface = l_search->f;
}
break;
}