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-04-20 20:55:47 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-04-20 20:55:47 +0400
commitb26865ba99a8a9dea483a71b757d9eb2de0f7198 (patch)
treedaca82eebccb3a150920ca9200360f2e35291940 /source/blender/bmesh
parent91dc245f93d38307c586b445b91a49ea6cea32e1 (diff)
code cleanup: prefer BM_face/edge/vert_select_set() over BM_elem_select_set() when the type is known (saves switch statement check on the type).
Add asserts so the correct types are ensured.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_marking.c19
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_conv.c4
-rw-r--r--source/blender/bmesh/operators/bmo_create.c4
-rw-r--r--source/blender/bmesh/operators/bmo_subdivide.c4
4 files changed, 17 insertions, 14 deletions
diff --git a/source/blender/bmesh/intern/bmesh_marking.c b/source/blender/bmesh/intern/bmesh_marking.c
index 7cf29031765..7b6d562658e 100644
--- a/source/blender/bmesh/intern/bmesh_marking.c
+++ b/source/blender/bmesh/intern/bmesh_marking.c
@@ -245,8 +245,7 @@ void BM_mesh_select_flush(BMesh *bm)
*/
void BM_vert_select_set(BMesh *bm, BMVert *v, int select)
{
- /* BMIter iter; */
- /* BMEdge *e; */
+ BLI_assert(v->head.htype == BM_VERT);
if (BM_elem_flag_test(v, BM_ELEM_HIDDEN)) {
return;
@@ -273,6 +272,8 @@ void BM_vert_select_set(BMesh *bm, BMVert *v, int select)
*/
void BM_edge_select_set(BMesh *bm, BMEdge *e, int select)
{
+ BLI_assert(e->head.htype == BM_EDGE);
+
if (BM_elem_flag_test(e, BM_ELEM_HIDDEN)) {
return;
}
@@ -281,8 +282,8 @@ void BM_edge_select_set(BMesh *bm, BMEdge *e, int select)
if (!BM_elem_flag_test(e, BM_ELEM_SELECT)) bm->totedgesel += 1;
BM_elem_flag_enable(e, BM_ELEM_SELECT);
- BM_elem_select_set(bm, e->v1, TRUE);
- BM_elem_select_set(bm, e->v2, TRUE);
+ BM_vert_select_set(bm, e->v1, TRUE);
+ BM_vert_select_set(bm, e->v2, TRUE);
}
else {
if (BM_elem_flag_test(e, BM_ELEM_SELECT)) bm->totedgesel -= 1;
@@ -318,8 +319,8 @@ void BM_edge_select_set(BMesh *bm, BMEdge *e, int select)
}
}
else {
- BM_elem_select_set(bm, e->v1, FALSE);
- BM_elem_select_set(bm, e->v2, FALSE);
+ BM_vert_select_set(bm, e->v1, FALSE);
+ BM_vert_select_set(bm, e->v2, FALSE);
}
}
@@ -336,6 +337,8 @@ void BM_face_select_set(BMesh *bm, BMFace *f, int select)
BMLoop *l_iter;
BMLoop *l_first;
+ BLI_assert(f->head.htype == BM_FACE);
+
if (BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
return;
}
@@ -369,7 +372,7 @@ void BM_face_select_set(BMesh *bm, BMFace *f, int select)
}
if (!f2) {
- BM_elem_select_set(bm, l->e, FALSE);
+ BM_edge_select_set(bm, l->e, FALSE);
}
}
@@ -383,7 +386,7 @@ void BM_face_select_set(BMesh *bm, BMFace *f, int select)
}
if (!e) {
- BM_elem_select_set(bm, l->v, FALSE);
+ BM_vert_select_set(bm, l->v, FALSE);
}
}
}
diff --git a/source/blender/bmesh/intern/bmesh_mesh_conv.c b/source/blender/bmesh/intern/bmesh_mesh_conv.c
index 574fb62b703..a7ecc897ff0 100644
--- a/source/blender/bmesh/intern/bmesh_mesh_conv.c
+++ b/source/blender/bmesh/intern/bmesh_mesh_conv.c
@@ -263,7 +263,7 @@ void BM_mesh_bm_from_me(BMesh *bm, Mesh *me, int set_key, int act_key_nr)
/* this is necessary for selection counts to work properly */
if (medge->flag & SELECT) {
- BM_elem_select_set(bm, e, TRUE);
+ BM_edge_select_set(bm, e, TRUE);
}
/* Copy Custom Data */
@@ -329,7 +329,7 @@ void BM_mesh_bm_from_me(BMesh *bm, Mesh *me, int set_key, int act_key_nr)
/* this is necessary for selection counts to work properly */
if (mpoly->flag & ME_FACE_SEL) {
- BM_elem_select_set(bm, f, TRUE);
+ BM_face_select_set(bm, f, TRUE);
}
f->mat_nr = mpoly->mat_nr;
diff --git a/source/blender/bmesh/operators/bmo_create.c b/source/blender/bmesh/operators/bmo_create.c
index d02bb14bebf..6272c43d0c5 100644
--- a/source/blender/bmesh/operators/bmo_create.c
+++ b/source/blender/bmesh/operators/bmo_create.c
@@ -614,10 +614,10 @@ static void init_rotsys(BMesh *bm, EdgeData *edata, VertData *vdata)
BM_elem_index_set(v2, -1); /* set_dirty! */
//BM_edge_create(bm, cv, v2, NULL, FALSE);
- BM_elem_select_set(bm, v2, TRUE);
+ BM_vert_select_set(bm, v2, TRUE);
if (lastv) {
e2 = BM_edge_create(bm, lastv, v2, NULL, FALSE);
- BM_elem_select_set(bm, e2, TRUE);
+ BM_edge_select_set(bm, e2, TRUE);
}
lastv = v2;
diff --git a/source/blender/bmesh/operators/bmo_subdivide.c b/source/blender/bmesh/operators/bmo_subdivide.c
index b3d4584107a..d629585f7cd 100644
--- a/source/blender/bmesh/operators/bmo_subdivide.c
+++ b/source/blender/bmesh/operators/bmo_subdivide.c
@@ -1069,13 +1069,13 @@ void BM_mesh_esubdivideflag(Object *UNUSED(obedit), BMesh *bm, int flag, float s
BM_elem_flag_test(e->v1, BM_ELEM_SELECT) &&
BM_elem_flag_test(e->v2, BM_ELEM_SELECT))
{
- BM_elem_select_set(bm, e, TRUE);
+ BM_edge_select_set(bm, e, TRUE);
}
else if (BM_elem_flag_test(e, BM_ELEM_SELECT) &&
(!BM_elem_flag_test(e->v1, BM_ELEM_SELECT) ||
!BM_elem_flag_test(e->v2, BM_ELEM_SELECT)))
{
- BM_elem_select_set(bm, e, FALSE);
+ BM_edge_select_set(bm, e, FALSE);
}
}
}