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>2012-03-04 20:01:02 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-04 20:01:02 +0400
commit76e9f91d1c9ff5f026ff4e05e76b751f936f83f7 (patch)
tree5442156fb09a952aabceb5fc6daa6cf598642578 /source/blender/bmesh
parentc2760307e853e88fb61be24b7cc3db03d6d2219b (diff)
switch arg order for BM_face_other_* funcs (make face come first), and add nice ascii art for BM_face_other_vert_loop since this stuff is hard to grasp as text.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_mods.c8
-rw-r--r--source/blender/bmesh/intern/bmesh_queries.c15
-rw-r--r--source/blender/bmesh/intern/bmesh_queries.h4
-rw-r--r--source/blender/bmesh/intern/bmesh_walkers_impl.c4
-rw-r--r--source/blender/bmesh/operators/bmo_edgesplit.c6
5 files changed, 24 insertions, 13 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mods.c b/source/blender/bmesh/intern/bmesh_mods.c
index 2558ac332df..3a4264575f0 100644
--- a/source/blender/bmesh/intern/bmesh_mods.c
+++ b/source/blender/bmesh/intern/bmesh_mods.c
@@ -720,8 +720,8 @@ int BM_edge_rotate_check(BMesh *UNUSED(bm), BMEdge *e)
if (BM_edge_face_pair(e, &fa, &fb)) {
BMLoop *la, *lb;
- la = BM_face_other_vert_loop(e->v2, fa, e->v1);
- lb = BM_face_other_vert_loop(e->v2, fb, e->v1);
+ la = BM_face_other_vert_loop(fa, e->v2, e->v1);
+ lb = BM_face_other_vert_loop(fb, e->v2, e->v1);
/* check that the next vert in both faces isnt the same
* (ie - the next edge doesnt share the same faces).
@@ -731,8 +731,8 @@ int BM_edge_rotate_check(BMesh *UNUSED(bm), BMEdge *e)
}
/* mirror of the check above but in the opposite direction */
- la = BM_face_other_vert_loop(e->v1, fa, e->v2);
- lb = BM_face_other_vert_loop(e->v1, fb, e->v2);
+ la = BM_face_other_vert_loop(fa, e->v1, e->v2);
+ lb = BM_face_other_vert_loop(fb, e->v1, e->v2);
if (la->v == lb->v) {
return FALSE;
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c
index ad7300e1c21..e78d577e067 100644
--- a/source/blender/bmesh/intern/bmesh_queries.c
+++ b/source/blender/bmesh/intern/bmesh_queries.c
@@ -67,7 +67,7 @@ int BM_vert_in_edge(BMEdge *e, BMVert *v)
*
* Finds the other loop that shares \a v with \a e loop in \a f.
*/
-BMLoop *BM_face_other_loop(BMEdge *e, BMFace *f, BMVert *v)
+BMLoop *BM_face_other_loop(BMFace *f, BMEdge *e, BMVert *v)
{
BMLoop *l_iter;
BMLoop *l_first;
@@ -92,9 +92,20 @@ BMLoop *BM_face_other_loop(BMEdge *e, BMFace *f, BMVert *v)
* The direction is defined by \a v_prev, where the return value is
* the loop of what would be 'v_next'
*
+ *
+ * +----------+ <-- return the face loop of this vertex.
+ * | |
+ * | f |
+ * | |
+ * +----------+
+ * v_prev --> v
+ * ^^^^^^ ^ <-- These vert argumrnts define direction
+ * in the face to check.
+ * The faces loop direction is ignored.
+ *
* \note \a v_prev and \a v _implicitly_ define an edge.
*/
-BMLoop *BM_face_other_vert_loop(BMVert *v_prev, BMFace *f, BMVert *v)
+BMLoop *BM_face_other_vert_loop(BMFace *f, BMVert *v_prev, BMVert *v)
{
BMIter liter;
BMLoop *l_iter;
diff --git a/source/blender/bmesh/intern/bmesh_queries.h b/source/blender/bmesh/intern/bmesh_queries.h
index 8c366d213d7..bf340e5c4ec 100644
--- a/source/blender/bmesh/intern/bmesh_queries.h
+++ b/source/blender/bmesh/intern/bmesh_queries.h
@@ -39,8 +39,8 @@ int BM_verts_in_edge(BMVert *v1, BMVert *v2, BMEdge *e);
int BM_edge_face_pair(BMEdge *e, BMFace **r_fa, BMFace **r_fb);
BMVert *BM_edge_other_vert(BMEdge *e, BMVert *v);
-BMLoop *BM_face_other_loop(BMEdge *e, BMFace *f, BMVert *v);
-BMLoop *BM_face_other_vert_loop(BMVert *v_prev, BMFace *f, BMVert *v);
+BMLoop *BM_face_other_loop(BMFace *f, BMEdge *e, BMVert *v);
+BMLoop *BM_face_other_vert_loop(BMFace *f, BMVert *v_prev, BMVert *v);
int BM_vert_edge_count(BMVert *v);
int BM_edge_face_count(BMEdge *e);
diff --git a/source/blender/bmesh/intern/bmesh_walkers_impl.c b/source/blender/bmesh/intern/bmesh_walkers_impl.c
index ed029af13f0..4f2682a7da9 100644
--- a/source/blender/bmesh/intern/bmesh_walkers_impl.c
+++ b/source/blender/bmesh/intern/bmesh_walkers_impl.c
@@ -273,7 +273,7 @@ static void *bmw_IslandboundWalker_step(BMWalker *walker)
f = l->f;
while (1) {
- l = BM_face_other_loop(e, f, v);
+ l = BM_face_other_loop(f, e, v);
if (l != l->radial_next) {
l = l->radial_next;
f = l->f;
@@ -474,7 +474,7 @@ static void *bmw_LoopWalker_step(BMWalker *walker)
while (1) {
if (rlen != 1 && i == stopi) break;
- l = BM_face_other_loop(l->e, l->f, v);
+ l = BM_face_other_loop(l->f, l->e, v);
if (!l)
break;
diff --git a/source/blender/bmesh/operators/bmo_edgesplit.c b/source/blender/bmesh/operators/bmo_edgesplit.c
index 5b5eb6b4cca..2b642a870cf 100644
--- a/source/blender/bmesh/operators/bmo_edgesplit.c
+++ b/source/blender/bmesh/operators/bmo_edgesplit.c
@@ -180,7 +180,7 @@ static void tag_out_edges(BMesh *bm, EdgeTag *etags, BMOperator *UNUSED(op))
startl = l;
do {
- l = BM_face_other_loop(l->e, l->f, v);
+ l = BM_face_other_loop(l->f, l->e, v);
if (l == startl || BM_edge_face_count(l->e) != 2) {
break;
}
@@ -317,7 +317,7 @@ void bmo_edgesplit_exec(BMesh *bm, BMOperator *op)
}
l3 = l3->radial_next;
- l3 = BM_face_other_loop(l3->e, l3->f, v);
+ l3 = BM_face_other_loop(l3->f, l3->e, v);
} while (l3 != l2 && !BMO_elem_flag_test(bm, l3->e, EDGE_SEAM));
if (l3 == NULL || (BMO_elem_flag_test(bm, l3->e, EDGE_SEAM) && l3->e != l->e)) {
@@ -333,7 +333,7 @@ void bmo_edgesplit_exec(BMesh *bm, BMOperator *op)
}
l3 = l3->radial_next;
- l3 = BM_face_other_loop(l3->e, l3->f, v);
+ l3 = BM_face_other_loop(l3->f, l3->e, v);
et = &etags[BM_elem_index_get(l3->e)];
} while (l3 != l2 && !BMO_elem_flag_test(bm, l3->e, EDGE_SEAM));