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:
authorJoseph Eagar <joeedh@gmail.com>2012-06-15 05:43:01 +0400
committerJoseph Eagar <joeedh@gmail.com>2012-06-15 05:43:01 +0400
commitbd9192670bf7922f2e12fe586bf8b376000412ff (patch)
tree4573a8880be72dd3a7fda82d5c51e9ca5da4a152 /source/blender/bmesh
parent9355bece599582358d8ed7b39bdf376446ba7018 (diff)
Added option in shift-g to select verts by number of connected edges (valence).
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_operators.h3
-rw-r--r--source/blender/bmesh/operators/bmo_utils.c11
2 files changed, 13 insertions, 1 deletions
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;
}
}
}