[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45817] trunk/blender/source/blender: 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).

Campbell Barton ideasman42 at gmail.com
Fri Apr 20 18:55:47 CEST 2012


Revision: 45817
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45817
Author:   campbellbarton
Date:     2012-04-20 16:55:47 +0000 (Fri, 20 Apr 2012)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
    trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
    trunk/blender/source/blender/bmesh/operators/bmo_create.c
    trunk/blender/source/blender/bmesh/operators/bmo_subdivide.c
    trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c
    trunk/blender/source/blender/editors/mesh/editmesh_rip.c
    trunk/blender/source/blender/editors/mesh/editmesh_select.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/object/object_hook.c
    trunk/blender/source/blender/editors/object/object_vgroup.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/uvedit/uvedit_ops.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -245,8 +245,7 @@
  */
 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_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 @@
 		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 @@
 			}
 		}
 		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 @@
 	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 @@
 			}
 
 			if (!f2) {
-				BM_elem_select_set(bm, l->e, FALSE);
+				BM_edge_select_set(bm, l->e, FALSE);
 			}
 		}
 
@@ -383,7 +386,7 @@
 			}
 
 			if (!e) {
-				BM_elem_select_set(bm, l->v, FALSE);
+				BM_vert_select_set(bm, l->v, FALSE);
 			}
 		}
 	}

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -263,7 +263,7 @@
 
 		/* 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 @@
 
 		/* 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;

Modified: trunk/blender/source/blender/bmesh/operators/bmo_create.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -614,10 +614,10 @@
 			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;

Modified: trunk/blender/source/blender/bmesh/operators/bmo_subdivide.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_subdivide.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/bmesh/operators/bmo_subdivide.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -1069,13 +1069,13 @@
 					     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);
 					}
 				}
 			}

Modified: trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -211,7 +211,7 @@
 
 		eed = BMW_begin(&walker, startedge);
 		for ( ; eed; eed = BMW_step(&walker)) {
-			BM_elem_select_set(em->bm, eed, TRUE);
+			BM_edge_select_set(em->bm, eed, TRUE);
 		}
 		BMW_end(&walker);
 

Modified: trunk/blender/source/blender/editors/mesh/editmesh_rip.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -336,7 +336,7 @@
 		e = (score_a > score_b) ? lp->l_a->e : lp->l_b->e;
 		v_prev = edbm_ripsel_edloop_pair_start_vert(e);
 		for (; e; e = edbm_ripsel_edge_uid_step(e, &v_prev)) {
-			BM_elem_select_set(bm, e, FALSE);
+			BM_edge_select_set(bm, e, FALSE);
 		}
 	}
 }
@@ -431,12 +431,12 @@
 		BMVert **vout;
 		int vout_len;
 
-		BM_elem_select_set(bm, v, FALSE);
+		BM_vert_select_set(bm, v, FALSE);
 		bmesh_vert_separate(bm, v, &vout, &vout_len);
 
 		if (vout_len < 2) {
 			/* set selection back to avoid active-unselected vertex */
-			BM_elem_select_set(bm, v, TRUE);
+			BM_vert_select_set(bm, v, TRUE);
 			/* should never happen */
 			BKE_report(op->reports, RPT_ERROR, "Error ripping vertex from faces");
 			return OPERATOR_CANCELLED;
@@ -472,7 +472,7 @@
 
 			/* select the vert from the best region */
 			v = vout[vi_best];
-			BM_elem_select_set(bm, v, TRUE);
+			BM_vert_select_set(bm, v, TRUE);
 
 			if (ese.ele) {
 				EDBM_editselection_store(em, &v->head);
@@ -541,7 +541,7 @@
 		BM_ITER_MESH (v, &iter, em->bm, BM_VERTS_OF_MESH) {
 			if (BM_elem_flag_test(v, BM_ELEM_SELECT)) {
 				/* disable by default, re-enable winner at end */
-				BM_elem_select_set(bm, v, FALSE);
+				BM_vert_select_set(bm, v, FALSE);
 
 				BM_ITER_ELEM (l, &liter, v, BM_LOOPS_OF_VERT) {
 					/* calculate a point in the face, rather then calculate the middle,
@@ -566,7 +566,7 @@
 		}
 
 		if (v_best) {
-			BM_elem_select_set(bm, v_best, TRUE);
+			BM_vert_select_set(bm, v_best, TRUE);
 			if (ese.ele) {
 				EDBM_editselection_store(em, &v_best->head);
 			}

Modified: trunk/blender/source/blender/editors/mesh/editmesh_select.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-04-20 16:17:52 UTC (rev 45816)
+++ trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-04-20 16:55:47 UTC (rev 45817)
@@ -95,7 +95,7 @@
 
 		v2 = EDBM_verts_mirror_get(em, v1);
 		if (v2 && !BM_elem_flag_test(v2, BM_ELEM_HIDDEN)) {
-			BM_elem_select_set(em->bm, v2, TRUE);
+			BM_vert_select_set(em->bm, v2, TRUE);
 		}
 	}
 
@@ -1166,7 +1166,7 @@
 	
 	switch (scene->toolsettings->edge_mode) {
 		case EDGE_MODE_SELECT:
-			BM_elem_select_set(em->bm, e, val);
+			BM_edge_select_set(em->bm, e, val);
 			break;
 		case EDGE_MODE_TAG_SEAM:
 			BM_elem_flag_set(e, BM_ELEM_SEAM, val);
@@ -1459,31 +1459,31 @@
 			
 			if (!BM_elem_flag_test(efa, BM_ELEM_SELECT)) {
 				EDBM_editselection_store(vc.em, &efa->head);
-				BM_elem_select_set(vc.em->bm, efa, TRUE);
+				BM_face_select_set(vc.em->bm, efa, TRUE);
 			}
 			else if (extend) {
 				EDBM_editselection_remove(vc.em, &efa->head);
-				BM_elem_select_set(vc.em->bm, efa, FALSE);
+				BM_face_select_set(vc.em->bm, efa, FALSE);
 			}
 		}
 		else if (eed) {
 			if (!BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
 				EDBM_editselection_store(vc.em, &eed->head);
-				BM_elem_select_set(vc.em->bm, eed, TRUE);
+				BM_edge_select_set(vc.em->bm, eed, TRUE);
 			}
 			else if (extend) {
 				EDBM_editselection_remove(vc.em, &eed->head);
-				BM_elem_select_set(vc.em->bm, eed, FALSE);
+				BM_edge_select_set(vc.em->bm, eed, FALSE);
 			}
 		}
 		else if (eve) {
 			if (!BM_elem_flag_test(eve, BM_ELEM_SELECT)) {
 				EDBM_editselection_store(vc.em, &eve->head);
-				BM_elem_select_set(vc.em->bm, eve, TRUE);
+				BM_vert_select_set(vc.em->bm, eve, TRUE);
 			}
 			else if (extend) {
 				EDBM_editselection_remove(vc.em, &eve->head);
-				BM_elem_select_set(vc.em->bm, eve, FALSE);
+				BM_vert_select_set(vc.em->bm, eve, FALSE);
 			}
 		}
 		
@@ -1554,12 +1554,12 @@
 	else if (em->selectmode & SCE_SELECT_EDGE) {
 		/* deselect vertices, and select again based on edge select */
 		eve = BM_iter_new(&iter, em->bm, BM_VERTS_OF_MESH, NULL);
-		for (; eve; eve = BM_iter_step(&iter)) BM_elem_select_set(em->bm, eve, FALSE);
+		for (; eve; eve = BM_iter_step(&iter)) BM_vert_select_set(em->bm, eve, FALSE);
 		
 		eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
 		for (; eed; eed = BM_iter_step(&iter)) {
 			if (BM_elem_flag_test(eed, BM_ELEM_SELECT)) {
-				BM_elem_select_set(em->bm, eed, TRUE);
+				BM_edge_select_set(em->bm, eed, TRUE);
 			}
 		}
 		
@@ -1569,12 +1569,12 @@
 	else if (em->selectmode & SCE_SELECT_FACE) {
 		/* deselect eges, and select again based on face select */
 		eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
-		for (; eed; eed = BM_iter_step(&iter)) BM_elem_select_set(em->bm, eed, FALSE);
+		for (; eed; eed = BM_iter_step(&iter)) BM_edge_select_set(em->bm, eed, FALSE);
 		
 		efa = BM_iter_new(&iter, em->bm, BM_FACES_OF_MESH, NULL);
 		for (; efa; efa = BM_iter_step(&iter)) {
 			if (BM_elem_flag_test(efa, BM_ELEM_SELECT)) {
-				BM_elem_select_set(em->bm, efa, TRUE);
+				BM_face_select_set(em->bm, efa, TRUE);
 			}
 		}
 	}
@@ -1595,7 +1595,7 @@
 				if ((BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) ||
 				     BM_elem_flag_test(eed->v2, BM_ELEM_SELECT)))
 				{
-					BM_elem_select_set(em->bm, eed, TRUE);
+					BM_edge_select_set(em->bm, eed, TRUE);
 				}
 			}
 		}		
@@ -1609,7 +1609,7 @@
 				l = BM_iter_new(&liter, em->bm, BM_LOOPS_OF_FACE, efa);
 				for (; l; l = BM_iter_step(&liter)) {
 					if (BM_elem_flag_test(l->v, BM_ELEM_SELECT)) {
-						BM_elem_select_set(em->bm, efa, TRUE);
+						BM_face_select_set(em->bm, efa, TRUE);
 						break;
 					}
 				}
@@ -1628,7 +1628,7 @@
 				l = BM_iter_new(&liter, em->bm, BM_LOOPS_OF_FACE, efa);
 				for (; l; l = BM_iter_step(&liter)) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list