[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43960] branches/bmesh/blender/source/ blender/bmesh: Style Cleanup

Campbell Barton ideasman42 at gmail.com
Tue Feb 7 17:24:46 CET 2012


Revision: 43960
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43960
Author:   campbellbarton
Date:     2012-02-07 16:24:36 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
Style Cleanup

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c
    branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c

Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h	2012-02-07 16:08:19 UTC (rev 43959)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h	2012-02-07 16:24:36 UTC (rev 43960)
@@ -536,6 +536,7 @@
 	return NULL;
 }
 
+#if 0 /* UNUSED */
 BM_INLINE void BMO_SetIndex(BMesh *bm, const void *element, int index)
 {
 	BMHeader *header = (BMHeader *)element;
@@ -547,6 +548,7 @@
 	BMHeader *header = (BMHeader *)element;
 	return header->flags[bm->stackdepth-1].index;
 }
+#endif
 
 #ifdef __cplusplus
 }

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-02-07 16:08:19 UTC (rev 43959)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-02-07 16:24:36 UTC (rev 43960)
@@ -461,7 +461,9 @@
 
 #define DEL_WIREVERT	(1 << 10)
 
-void BMO_remove_tagged_context(BMesh *bm, const short oflag, int type)
+/* warning, oflag applies to different types in some contexts,
+ * not just the type being removed */
+void BMO_remove_tagged_context(BMesh *bm, const short oflag, const int type)
 {
 	BMVert *v;
 	BMEdge *e;
@@ -471,77 +473,106 @@
 	BMIter edges;
 	BMIter faces;
 
-	if (type == DEL_VERTS) bmo_remove_tagged_context_verts(bm, oflag);
-	else if (type == DEL_EDGES) {
-		/* flush down to vert */
-		for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges)) {
-			if (BMO_TestFlag(bm, (BMHeader *)e, oflag)) {
-				BMO_SetFlag(bm, (BMHeader *)(e->v1), oflag);
-				BMO_SetFlag(bm, (BMHeader *)(e->v2), oflag);
+	switch (type) {
+		case DEL_VERTS:
+		{
+			bmo_remove_tagged_context_verts(bm, oflag);
+
+			break;
+		}
+		case DEL_EDGES:
+		{
+			/* flush down to vert */
+			for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges)) {
+				if (BMO_TestFlag(bm, (BMHeader *)e, oflag)) {
+					BMO_SetFlag(bm, (BMHeader *)(e->v1), oflag);
+					BMO_SetFlag(bm, (BMHeader *)(e->v2), oflag);
+				}
 			}
+			bmo_remove_tagged_context_edges(bm, oflag);
+			/* remove loose vertice */
+			for (v = BMIter_New(&verts, bm, BM_VERTS_OF_MESH, bm); v; v = BMIter_Step(&verts)) {
+				if (BMO_TestFlag(bm, (BMHeader *)v, oflag) && (!(v->e)))
+					BMO_SetFlag(bm, (BMHeader *)v, DEL_WIREVERT);
+			}
+			BMO_remove_tagged_verts(bm, DEL_WIREVERT);
+
+			break;
 		}
-		bmo_remove_tagged_context_edges(bm, oflag);
-		/* remove loose vertice */
-		for (v = BMIter_New(&verts, bm, BM_VERTS_OF_MESH, bm); v; v = BMIter_Step(&verts)) {
-			if (BMO_TestFlag(bm, (BMHeader *)v, oflag) && (!(v->e)))
-				BMO_SetFlag(bm, (BMHeader *)v, DEL_WIREVERT);
+		case DEL_EDGESFACES:
+		{
+			bmo_remove_tagged_context_edges(bm, oflag);
+
+			break;
 		}
-		BMO_remove_tagged_verts(bm, DEL_WIREVERT);
-	}
-	else if (type == DEL_EDGESFACES) bmo_remove_tagged_context_edges(bm, oflag);
-	else if (type == DEL_ONLYFACES) BMO_remove_tagged_faces(bm, oflag);
-	else if (type == DEL_ONLYTAGGED) {
-		BMO_remove_tagged_faces(bm, oflag);
-		BMO_remove_tagged_edges(bm, oflag);
-		BMO_remove_tagged_verts(bm, oflag);
-	}
-	else if (type == DEL_FACES) {
-		/* go through and mark all edges and all verts of all faces for delet */
-		for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces)) {
-			if (BMO_TestFlag(bm, (BMHeader *)f, oflag)) {
-				for (e = BMIter_New(&edges, bm, BM_EDGES_OF_FACE, f); e; e = BMIter_Step(&edges))
-					BMO_SetFlag(bm, (BMHeader *)e, oflag);
-				for (v = BMIter_New(&verts, bm, BM_VERTS_OF_FACE, f); v; v = BMIter_Step(&verts))
-					BMO_SetFlag(bm, (BMHeader *)v, oflag);
-			}
+		case DEL_ONLYFACES:
+		{
+			BMO_remove_tagged_faces(bm, oflag);
+
+			break;
 		}
-		/* now go through and mark all remaining faces all edges for keeping */
-		for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces)) {
-			if (!BMO_TestFlag(bm, (BMHeader *)f, oflag)) {
-				for (e = BMIter_New(&edges, bm, BM_EDGES_OF_FACE, f); e; e = BMIter_Step(&edges)) {
-					BMO_ClearFlag(bm, (BMHeader *)e, oflag);
+		case DEL_ONLYTAGGED:
+		{
+			BMO_remove_tagged_faces(bm, oflag);
+			BMO_remove_tagged_edges(bm, oflag);
+			BMO_remove_tagged_verts(bm, oflag);
+
+			break;
+		}
+		case DEL_FACES:
+		{
+			/* go through and mark all edges and all verts of all faces for delet */
+			for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces)) {
+				if (BMO_TestFlag(bm, (BMHeader *)f, oflag)) {
+					for (e = BMIter_New(&edges, bm, BM_EDGES_OF_FACE, f); e; e = BMIter_Step(&edges))
+						BMO_SetFlag(bm, (BMHeader *)e, oflag);
+					for (v = BMIter_New(&verts, bm, BM_VERTS_OF_FACE, f); v; v = BMIter_Step(&verts))
+						BMO_SetFlag(bm, (BMHeader *)v, oflag);
 				}
-				for (v = BMIter_New(&verts, bm, BM_VERTS_OF_FACE, f); v; v = BMIter_Step(&verts)) {
-					BMO_ClearFlag(bm, (BMHeader *)v, oflag);
+			}
+			/* now go through and mark all remaining faces all edges for keeping */
+			for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces)) {
+				if (!BMO_TestFlag(bm, (BMHeader *)f, oflag)) {
+					for (e = BMIter_New(&edges, bm, BM_EDGES_OF_FACE, f); e; e = BMIter_Step(&edges)) {
+						BMO_ClearFlag(bm, (BMHeader *)e, oflag);
+					}
+					for (v = BMIter_New(&verts, bm, BM_VERTS_OF_FACE, f); v; v = BMIter_Step(&verts)) {
+						BMO_ClearFlag(bm, (BMHeader *)v, oflag);
+					}
 				}
 			}
-		}
-		/* also mark all the vertices of remaining edges for keeping */
-		for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges)) {
-			if (!BMO_TestFlag(bm, (BMHeader *)e, oflag)) {
-				BMO_ClearFlag(bm, (BMHeader *)e->v1, oflag);
-				BMO_ClearFlag(bm, (BMHeader *)e->v2, oflag);
+			/* also mark all the vertices of remaining edges for keeping */
+			for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges)) {
+				if (!BMO_TestFlag(bm, (BMHeader *)e, oflag)) {
+					BMO_ClearFlag(bm, (BMHeader *)e->v1, oflag);
+					BMO_ClearFlag(bm, (BMHeader *)e->v2, oflag);
+				}
 			}
+			/* now delete marked face */
+			BMO_remove_tagged_faces(bm, oflag);
+			/* delete marked edge */
+			BMO_remove_tagged_edges(bm, oflag);
+			/* remove loose vertice */
+			BMO_remove_tagged_verts(bm, oflag);
+
+			break;
 		}
-		/* now delete marked face */
-		BMO_remove_tagged_faces(bm, oflag);
-		/* delete marked edge */
-		BMO_remove_tagged_edges(bm, oflag);
-		/* remove loose vertice */
-		BMO_remove_tagged_verts(bm, oflag);
-	}
-	/* does this option even belong in here */
-	else if (type == DEL_ALL) {
-		for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces))
-			BMO_SetFlag(bm, (BMHeader *)f, oflag);
-		for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges))
-			BMO_SetFlag(bm, (BMHeader *)e, oflag);
-		for (v = BMIter_New(&verts, bm, BM_VERTS_OF_MESH, bm); v; v = BMIter_Step(&verts))
-			BMO_SetFlag(bm, (BMHeader *)v, oflag);
+		case DEL_ALL:
+		{
+			/* does this option even belong in here? */
+			for (f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm); f; f = BMIter_Step(&faces))
+				BMO_SetFlag(bm, (BMHeader *)f, oflag);
+			for (e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm); e; e = BMIter_Step(&edges))
+				BMO_SetFlag(bm, (BMHeader *)e, oflag);
+			for (v = BMIter_New(&verts, bm, BM_VERTS_OF_MESH, bm); v; v = BMIter_Step(&verts))
+				BMO_SetFlag(bm, (BMHeader *)v, oflag);
 
-		BMO_remove_tagged_faces(bm, oflag);
-		BMO_remove_tagged_edges(bm, oflag);
-		BMO_remove_tagged_verts(bm, oflag);
+			BMO_remove_tagged_faces(bm, oflag);
+			BMO_remove_tagged_edges(bm, oflag);
+			BMO_remove_tagged_verts(bm, oflag);
+
+			break;
+		}
 	}
 }
 /*************************************************************/

Modified: branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c	2012-02-07 16:08:19 UTC (rev 43959)
+++ branches/bmesh/blender/source/blender/bmesh/operators/edgesplitop.c	2012-02-07 16:24:36 UTC (rev 43960)
@@ -103,7 +103,7 @@
 
 			/* set edges index as dirty after running all */
 			BM_SetIndex(l2->e, BM_GetIndex(l->e)); /* set_dirty! */
-			et = etags + BM_GetIndex(l->e);
+			et = &etags[BM_GetIndex(l->e)];
 			
 			if (!et->newe1) {
 				et->newe1 = l2->e;
@@ -148,7 +148,7 @@
 			if (!BMO_TestFlag(bm, e, EDGE_SEAM))
 				continue;
 
-			et = etags + BM_GetIndex(e);
+			et = &etags[BM_GetIndex(e)];
 			if (!et->tag && e->l) {
 				break;
 			}
@@ -166,7 +166,7 @@
 			v = i ? l->next->v : l->v;
 
 			while (1) {
-				et = etags + BM_GetIndex(l->e);
+				et = &etags[BM_GetIndex(l->e)];
 				if (et->newe1 == l->e) {
 					if (et->newe1) {
 						BMO_SetFlag(bm, et->newe1, EDGE_RET1);
@@ -281,7 +281,7 @@
 			if (!BMO_TestFlag(bm, l->e, EDGE_SEAM)) {
 				if (!verts[i]) {
 
-					et = etags + BM_GetIndex(l->e);
+					et = &etags[BM_GetIndex(l->e)];
 					if (ETV(et, l->v, l)) {
 						verts[i] = ETV(et, l->v, l);
 					}
@@ -336,7 +336,7 @@
 					} while (l3 != l2 && !BMO_TestFlag(bm, l3->e, EDGE_SEAM));
 
 					if (l3 == NULL || (BMO_TestFlag(bm, l3->e, EDGE_SEAM) && l3->e != l->e)) {
-						et = etags + BM_GetIndex(l2->e);
+						et = &etags[BM_GetIndex(l2->e)];
 						if (ETV(et, v, l2) == NULL) {
 							v2 = BM_Make_Vert(bm, v->co, v);
 							
@@ -350,7 +350,7 @@
 								l3 = l3->radial_next;
 								l3 = BM_OtherFaceLoop(l3->e, l3->f, v);
 								
-								et = etags + BM_GetIndex(l3->e);
+								et = &etags[BM_GetIndex(l3->e)];
 							} while (l3 != l2 && !BMO_TestFlag(bm, l3->e, EDGE_SEAM));
 						}
 						else {
@@ -405,6 +405,9 @@
 	 * likely these will be corrected on operator exit anyway */
 	bm->elem_index_dirty &= ~BM_EDGE;
 
+	/* cant call the operator because 'tag_out_edges'
+	 * relies on original index values, from before editing geometry */
+
 #if 0
 	BMO_CallOpf(bm, "del geom=%ff context=%i", FACE_DEL, DEL_ONLYFACES);
 #else




More information about the Bf-blender-cvs mailing list