[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