[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45947] trunk/blender/source/blender: code cleanup: no functional change - had both EDBM_editselection_* and BM_editselection_* funcs , replace EDBM_ funcs.

Campbell Barton ideasman42 at gmail.com
Tue Apr 24 23:19:19 CEST 2012


Revision: 45947
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45947
Author:   campbellbarton
Date:     2012-04-24 21:19:18 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
code cleanup: no functional change - had both EDBM_editselection_* and BM_editselection_* funcs, replace EDBM_ funcs.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
    trunk/blender/source/blender/bmesh/intern/bmesh_core.c
    trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
    trunk/blender/source/blender/bmesh/intern/bmesh_marking.h
    trunk/blender/source/blender/editors/include/ED_mesh.h
    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_slide.c
    trunk/blender/source/blender/editors/mesh/editmesh_utils.c
    trunk/blender/source/blender/editors/mesh/mesh_intern.h
    trunk/blender/source/blender/editors/space_view3d/view3d_snap.c
    trunk/blender/source/blender/editors/transform/transform_generics.c
    trunk/blender/source/blender/editors/transform/transform_manipulator.c
    trunk/blender/source/blender/editors/transform/transform_orientations.c
    trunk/blender/source/blender/editors/uvedit/uvedit_ops.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-04-24 21:19:18 UTC (rev 45947)
@@ -803,6 +803,7 @@
 	BMesh *bm_new;
 	BMVert *v, *v2, **vtable = NULL;
 	BMEdge *e, *e2, **edges = NULL, **etable = NULL;
+	BMElem **eletable;
 	BLI_array_declare(edges);
 	BMLoop *l, /* *l2, */ **loops = NULL;
 	BLI_array_declare(loops);
@@ -913,21 +914,29 @@
 
 	/* copy over edit selection history */
 	for (ese = bm_old->selected.first; ese; ese = ese->next) {
-		void *ele = NULL;
+		BMElem *ele = NULL;
 
-		if (ese->htype == BM_VERT)
-			ele = vtable[BM_elem_index_get(ese->ele)];
-		else if (ese->htype == BM_EDGE)
-			ele = etable[BM_elem_index_get(ese->ele)];
-		else if (ese->htype == BM_FACE) {
-			ele = ftable[BM_elem_index_get(ese->ele)];
+		switch (ese->htype) {
+			case BM_VERT:
+				eletable = (BMElem **)vtable;
+				break;
+			case BM_EDGE:
+				eletable = (BMElem **)etable;
+				break;
+			case BM_FACE:
+				eletable = (BMElem **)ftable;
+				break;
+			default:
+				eletable = NULL;
+				break;
 		}
-		else {
-			BLI_assert(0);
+
+		if (eletable) {
+			ele = eletable[BM_elem_index_get(ese->ele)];
+			if (ele) {
+				BM_select_history_store(bm_new, ele);
+			}
 		}
-		
-		if (ele)
-			BM_select_history_store(bm_new, ele);
 	}
 
 	MEM_freeN(etable);

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-04-24 21:19:18 UTC (rev 45947)
@@ -453,7 +453,7 @@
 	bm->totvert--;
 	bm->elem_index_dirty |= BM_VERT;
 
-	BM_select_history_remove(bm, (BMElem *)v);
+	BM_select_history_remove(bm, v);
 	if (v->head.data)
 		CustomData_bmesh_free_block(&bm->vdata, &v->head.data);
 

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2012-04-24 21:19:18 UTC (rev 45947)
@@ -566,7 +566,7 @@
  * - #EM_editselection_normal
  * - #EM_editselection_plane
  */
-void BM_editselection_center(float r_center[3], BMEditSelection *ese)
+void BM_editselection_center(BMEditSelection *ese, float r_center[3])
 {
 	if (ese->htype == BM_VERT) {
 		BMVert *eve = (BMVert *)ese->ele;
@@ -583,7 +583,7 @@
 	}
 }
 
-void BM_editselection_normal(float r_normal[3], BMEditSelection *ese)
+void BM_editselection_normal(BMEditSelection *ese, float r_normal[3])
 {
 	if (ese->htype == BM_VERT) {
 		BMVert *eve = (BMVert *)ese->ele;
@@ -617,14 +617,14 @@
 /* Calculate a plane that is rightangles to the edge/vert/faces normal
  * also make the plane run along an axis that is related to the geometry,
  * because this is used for the manipulators Y axis. */
-void BM_editselection_plane(BMesh *bm, float r_plane[3], BMEditSelection *ese)
+void BM_editselection_plane(BMEditSelection *ese, float r_plane[3])
 {
 	if (ese->htype == BM_VERT) {
 		BMVert *eve = (BMVert *)ese->ele;
 		float vec[3] = {0.0f, 0.0f, 0.0f};
 		
 		if (ese->prev) { /* use previously selected data to make a useful vertex plane */
-			BM_editselection_center(vec, ese->prev);
+			BM_editselection_center(ese->prev, vec);
 			sub_v3_v3v3(r_plane, vec, eve->co);
 		}
 		else {
@@ -674,7 +674,7 @@
 		else {
 			BMVert *verts[4] = {NULL};
 
-			BM_iter_as_array(bm, BM_VERTS_OF_FACE, efa, (void **)verts, 4);
+			BM_iter_as_array(NULL, BM_VERTS_OF_FACE, efa, (void **)verts, 4);
 
 			if (efa->len == 4) {
 				float vecA[3], vecB[3];
@@ -713,12 +713,14 @@
 	normalize_v3(r_plane);
 }
 
-int BM_select_history_check(BMesh *bm, const BMElem *ele)
+
+/* --- macro wrapped funcs --- */
+int _bm_select_history_check(BMesh *bm, const BMHeader *ele)
 {
 	BMEditSelection *ese;
 	
 	for (ese = bm->selected.first; ese; ese = ese->next) {
-		if (ese->ele == ele) {
+		if (ese->ele == (BMElem *)ele) {
 			return TRUE;
 		}
 	}
@@ -726,11 +728,11 @@
 	return FALSE;
 }
 
-int BM_select_history_remove(BMesh *bm, BMElem *ele)
+int _bm_select_history_remove(BMesh *bm, BMHeader *ele)
 {
 	BMEditSelection *ese;
 	for (ese = bm->selected.first; ese; ese = ese->next) {
-		if (ese->ele == ele) {
+		if (ese->ele == (BMElem *)ele) {
 			BLI_freelinkN(&(bm->selected), ese);
 			return TRUE;
 		}
@@ -739,27 +741,30 @@
 	return FALSE;
 }
 
-void BM_select_history_clear(BMesh *bm)
+void _bm_select_history_store_notest(BMesh *bm, BMHeader *ele)
 {
-	BLI_freelistN(&bm->selected);
-	bm->selected.first = bm->selected.last = NULL;
-}
-
-void BM_select_history_store_notest(BMesh *bm, BMElem *ele)
-{
 	BMEditSelection *ese = (BMEditSelection *) MEM_callocN(sizeof(BMEditSelection), "BMEdit Selection");
-	ese->htype = ((BMHeader *)ele)->htype;
-	ese->ele = ele;
+	ese->htype = ele->htype;
+	ese->ele = (BMElem *)ele;
 	BLI_addtail(&(bm->selected), ese);
 }
 
-void BM_select_history_store(BMesh *bm, BMElem *ele)
+void _bm_select_history_store(BMesh *bm, BMHeader *ele)
 {
-	if (!BM_select_history_check(bm, ele)) {
-		BM_select_history_store_notest(bm, ele);
+	if (!BM_select_history_check(bm, (BMElem *)ele)) {
+		BM_select_history_store_notest(bm, (BMElem *)ele);
 	}
 }
+/* --- end macro wrapped funcs --- */
 
+
+void BM_select_history_clear(BMesh *bm)
+{
+	BLI_freelistN(&bm->selected);
+	bm->selected.first = bm->selected.last = NULL;
+}
+
+
 void BM_select_history_validate(BMesh *bm)
 {
 	BMEditSelection *ese, *nextese;
@@ -775,6 +780,41 @@
 	}
 }
 
+/* utility function */
+int BM_select_history_active_get(BMesh *bm, BMEditSelection *ese)
+{
+	BMEditSelection *ese_last = bm->selected.last;
+	BMFace *efa = BM_active_face_get(bm, FALSE);
+
+	ese->next = ese->prev = NULL;
+
+	if (ese_last) {
+		if (ese_last->htype == BM_FACE) { /* if there is an active face, use it over the last selected face */
+			if (efa) {
+				ese->ele = (BMElem *)efa;
+			}
+			else {
+				ese->ele = ese_last->ele;
+			}
+			ese->htype = BM_FACE;
+		}
+		else {
+			ese->ele =   ese_last->ele;
+			ese->htype = ese_last->htype;
+		}
+	}
+	else if (efa) { /* no */
+		ese->ele   = (BMElem *)efa;
+		ese->htype = BM_FACE;
+	}
+	else {
+		ese->ele = NULL;
+		return FALSE;
+	}
+
+	return TRUE;
+}
+
 void BM_mesh_elem_hflag_disable_test(BMesh *bm, const char htype, const char hflag,
                                      int respecthide, const char hflag_test)
 {

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_marking.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_marking.h	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_marking.h	2012-04-24 21:19:18 UTC (rev 45947)
@@ -73,15 +73,23 @@
 /* edit selection stuff */
 void    BM_active_face_set(BMesh *bm, BMFace *f);
 BMFace *BM_active_face_get(BMesh *bm, int sloppy);
-void BM_editselection_center(float r_center[3], BMEditSelection *ese);
-void BM_editselection_normal(float r_normal[3], BMEditSelection *ese);
-void BM_editselection_plane(BMesh *bm, float r_plane[3], BMEditSelection *ese);
 
-int  BM_select_history_check(BMesh *bm, const BMElem *ele);
-int  BM_select_history_remove(BMesh *bm, BMElem *ele);
-void BM_select_history_store_notest(BMesh *bm, BMElem *ele);
-void BM_select_history_store(BMesh *bm, BMElem *ele);
+void    BM_editselection_center(BMEditSelection *ese, float r_center[3]);
+void    BM_editselection_normal(BMEditSelection *ese, float r_normal[3]);
+void    BM_editselection_plane(BMEditSelection *ese,  float r_plane[3]);
+
+#define BM_select_history_check(bm, ele)        _bm_select_history_check(bm,        &(ele)->head)
+#define BM_select_history_remove(bm, ele)       _bm_select_history_remove(bm,       &(ele)->head)
+#define BM_select_history_store_notest(bm, ele) _bm_select_history_store_notest(bm, &(ele)->head)
+#define BM_select_history_store(bm, ele)        _bm_select_history_store(bm,        &(ele)->head)
+
+int  _bm_select_history_check(BMesh *bm, const  BMHeader *ele);
+int  _bm_select_history_remove(BMesh *bm,       BMHeader *ele);
+void _bm_select_history_store_notest(BMesh *bm, BMHeader *ele);
+void _bm_select_history_store(BMesh *bm,        BMHeader *ele);
+
 void BM_select_history_validate(BMesh *bm);
 void BM_select_history_clear(BMesh *em);
+int  BM_select_history_active_get(BMesh *bm, struct BMEditSelection *ese);
 
 #endif /* __BMESH_MARKING_H__ */

Modified: trunk/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_mesh.h	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/editors/include/ED_mesh.h	2012-04-24 21:19:18 UTC (rev 45947)
@@ -114,13 +114,9 @@
 void EDBM_selectmode_convert(struct BMEditMesh *em, short oldmode, short selectmode);
 void undo_push_mesh(struct bContext *C, const char *name);
 
-int  EDBM_editselection_active_get(struct BMEditMesh *em, struct BMEditSelection *ese);
-void EDBM_editselection_center(float *center, struct BMEditSelection *ese);
-void EDBM_editselection_plane(struct BMEditMesh *em, float *plane, struct BMEditSelection *ese);
-void EDBM_editselection_normal(float *normal, struct BMEditSelection *ese);
 int  EDBM_vert_color_check(struct BMEditMesh *em);
-void EDBM_editselection_validate(struct BMEditMesh *em);
 
+
 void EDBM_mesh_hide(struct BMEditMesh *em, int swap);
 void EDBM_mesh_reveal(struct BMEditMesh *em);
 

Modified: trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c	2012-04-24 20:33:39 UTC (rev 45946)
+++ trunk/blender/source/blender/editors/mesh/editmesh_loopcut.c	2012-04-24 21:19:18 UTC (rev 45947)
@@ -337,9 +337,9 @@
 			
 			/* sets as active, useful for other tools */
 			if (em->selectmode & SCE_SELECT_VERTEX)
-				EDBM_editselection_store(em, &lcd->eed->v1->head);  /* low priority TODO, get vertrex close to mouse */
+				BM_select_history_store(em->bm, lcd->eed->v1);  /* low priority TODO, get vertrex close to mouse */
 			if (em->selectmode & SCE_SELECT_EDGE)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list