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>2015-12-23 08:07:48 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-12-23 08:08:23 +0300
commit44b593ae2d08c5294116a473328b741ec3fc0224 (patch)
tree5d78a2dd05efa10b18eeb35f5e9916629c72968f /source/blender/bmesh/intern/bmesh_queries.c
parentb51f730b0c215b56c8b946e404403c0caaae1efb (diff)
Add BM_vert_edge_pair utility function
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.c')
-rw-r--r--source/blender/bmesh/intern/bmesh_queries.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.c b/source/blender/bmesh/intern/bmesh_queries.c
index 0c5f51b2b87..5ed8ab20b69 100644
--- a/source/blender/bmesh/intern/bmesh_queries.c
+++ b/source/blender/bmesh/intern/bmesh_queries.c
@@ -775,6 +775,28 @@ bool BM_vert_is_edge_pair(const BMVert *v)
}
/**
+ * Access a verts 2 connected edges.
+ *
+ * \return true when only 2 verts are found.
+ */
+bool BM_vert_edge_pair(BMVert *v, BMEdge **r_e_a, BMEdge **r_e_b)
+{
+ BMEdge *e_a = v->e;
+ if (e_a) {
+ BMEdge *e_b = BM_DISK_EDGE_NEXT(e_a, v);
+ if ((e_b != e_a) && (BM_DISK_EDGE_NEXT(e_b, v) == e_a)) {
+ *r_e_a = e_a;
+ *r_e_b = e_b;
+ return true;
+ }
+ }
+
+ *r_e_a = NULL;
+ *r_e_b = NULL;
+ return false;
+}
+
+/**
* Returns the number of edges around this vertex.
*/
int BM_vert_edge_count(const BMVert *v)