diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-03 16:35:37 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-03 16:35:37 +0400 |
commit | 9c18ade898fb613321bf2eb73232a74de7186aab (patch) | |
tree | 802da6fd569ba897b9649659e4dab5f6da004f46 /source/blender/bmesh/intern/bmesh_queries.h | |
parent | 9d49fa0e6373d78c794e8472ed3f527392dfabcd (diff) |
bmesh edge rotate
* improve check to see if edge rotate can be done,
was checking if both edges verts have an edge count of 2, which is really a meaningless test since the verts can have stray edges connected and the result wont work right.
instead check if the next verts in both faces share a vertex.
* add utility function BM_face_other_vert_loop() which gets the next loop in a face.
* add convenience function BM_edge_face_pair() which returns 2 faces for edges that have exactly 2 face users. (saves ugly e->l->radial_next ... in code) and is more readable.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.h b/source/blender/bmesh/intern/bmesh_queries.h index 1fb0df7e2af..8c366d213d7 100644 --- a/source/blender/bmesh/intern/bmesh_queries.h +++ b/source/blender/bmesh/intern/bmesh_queries.h @@ -37,8 +37,10 @@ int BM_edge_in_face(BMFace *f, BMEdge *e); int BM_vert_in_edge(BMEdge *e, BMVert *v); 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); int BM_vert_edge_count(BMVert *v); int BM_edge_face_count(BMEdge *e); |