From bd9192670bf7922f2e12fe586bf8b376000412ff Mon Sep 17 00:00:00 2001 From: Joseph Eagar Date: Fri, 15 Jun 2012 01:43:01 +0000 Subject: Added option in shift-g to select verts by number of connected edges (valence). --- source/blender/bmesh/intern/bmesh_operators.h | 3 ++- source/blender/bmesh/operators/bmo_utils.c | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'source/blender/bmesh') diff --git a/source/blender/bmesh/intern/bmesh_operators.h b/source/blender/bmesh/intern/bmesh_operators.h index 3c6c3004e3a..b1da8ecb275 100644 --- a/source/blender/bmesh/intern/bmesh_operators.h +++ b/source/blender/bmesh/intern/bmesh_operators.h @@ -72,7 +72,8 @@ enum { enum { SIMVERT_NORMAL = 0, SIMVERT_FACE, - SIMVERT_VGROUP + SIMVERT_VGROUP, + SIMVERT_EDGE }; enum { diff --git a/source/blender/bmesh/operators/bmo_utils.c b/source/blender/bmesh/operators/bmo_utils.c index 3ebc7b04aa4..e0cd3e2ba90 100644 --- a/source/blender/bmesh/operators/bmo_utils.c +++ b/source/blender/bmesh/operators/bmo_utils.c @@ -873,6 +873,7 @@ typedef struct SimSel_VertExt { BMVert *v; union { int num_faces; /* adjacent faces */ + int num_edges; /* adjacent edges */ MDeformVert *dvert; /* deform vertex */ }; } SimSel_VertExt; @@ -928,6 +929,9 @@ void bmo_similarverts_exec(BMesh *bm, BMOperator *op) v_ext[i].dvert = NULL; } break; + case SIMVERT_EDGE: + v_ext[i].num_edges = BM_vert_edge_count(v); + break; } i++; @@ -970,6 +974,13 @@ void bmo_similarverts_exec(BMesh *bm, BMOperator *op) } } break; + case SIMVERT_EDGE: + /* number of adjacent edges */ + if (v_ext[i].num_edges == v_ext[indices[idx]].num_edges) { + BMO_elem_flag_enable(bm, v, VERT_MARK); + cont = FALSE; + } + break; } } } -- cgit v1.2.3