[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42109] branches/bmesh/blender/source/ blender: small changes to iterator, preparing for bigger changes.
Campbell Barton
ideasman42 at gmail.com
Thu Nov 24 01:14:15 CET 2011
Revision: 42109
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42109
Author: campbellbarton
Date: 2011-11-24 00:14:13 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
small changes to iterator, preparing for bigger changes.
- renamed flag to layer
- added define to make dummy layer args easier to tell apart from flags
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/bmesh_walkers.h
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
branches/bmesh/blender/source/blender/bmesh/operators/dissolveops.c
branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c
branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
branches/bmesh/blender/source/blender/editors/mesh/loopcut.c
Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_walkers.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_walkers.h 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_walkers.h 2011-11-24 00:14:13 UTC (rev 42109)
@@ -19,19 +19,19 @@
void *(*yield)(struct BMWalker *walker);
int structsize;
BMWOrder order;
- int flag;
+ int layer;
BMesh *bm;
BLI_mempool *worklist;
ListBase states;
- int restrictflag;
+ short restrictflag;
GHash *visithash;
int depth;
} BMWalker;
/*initialize a walker. searchmask restricts some (not all) walkers to
elements with a specific tool flag set. flags is specific to each walker.*/
-void BMW_Init(struct BMWalker *walker, BMesh *bm, int type, int searchmask, int flags);
+void BMW_Init(struct BMWalker *walker, BMesh *bm, int type, short searchmask, int layer);
void *BMW_Begin(BMWalker *walker, void *start);
void *BMW_Step(struct BMWalker *walker);
void BMW_End(struct BMWalker *walker);
@@ -91,4 +91,7 @@
BMW_MAXWALKERS
};
+/* use with BMW_Init, so as not to confuse with restrict flags */
+#define BMW_NIL_LAY 0
+
#endif
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -83,18 +83,18 @@
*
*/
-void BMW_Init(BMWalker *walker, BMesh *bm, int type, int searchmask, int flag)
+void BMW_Init(BMWalker *walker, BMesh *bm, int type, short searchmask, int layer)
{
memset(walker, 0, sizeof(BMWalker));
- walker->flag = flag;
+ walker->layer = layer;
walker->bm = bm;
walker->restrictflag = searchmask;
walker->visithash = BLI_ghash_new(BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, "bmesh walkers 1");
if (type >= BMW_MAXWALKERS || type < 0) {
bmesh_error();
- fprintf(stderr, "Invalid walker type in BMW_Init; type: %d, searchmask: %d, flag: %d\n", type, searchmask, flag);
+ fprintf(stderr, "Invalid walker type in BMW_Init; type: %d, searchmask: %d, flag: %d\n", type, searchmask, layer);
}
if (type != BMW_CUSTOM) {
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_walkers_impl.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -761,7 +761,7 @@
l = lwalk->l;
nl = l->next;
- type = walker->bm->ldata.layers[walker->flag].type;
+ type = walker->bm->ldata.layers[walker->layer].type;
BMW_removestate(walker);
@@ -773,8 +773,8 @@
for (i=0; i<2; i++) {
cl = i ? nl : l;
BM_ITER(l2, &liter, walker->bm, BM_LOOPS_OF_VERT, cl->v) {
- d1 = CustomData_bmesh_get_layer_n(&walker->bm->ldata,
- cl->head.data, walker->flag);
+ d1 = CustomData_bmesh_get_layer_n(&walker->bm->ldata,
+ cl->head.data, walker->layer);
rlen = BM_Edge_FaceCount(l2->e);
for (j=0; j<rlen; j++) {
@@ -788,7 +788,7 @@
l3 = l2->v != cl->v ? l2->next : l2;
d2 = CustomData_bmesh_get_layer_n(&walker->bm->ldata,
- l3->head.data, walker->flag);
+ l3->head.data, walker->layer);
if (!CustomData_data_equals(type, d1, d2))
continue;
Modified: branches/bmesh/blender/source/blender/bmesh/operators/dissolveops.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/dissolveops.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/bmesh/operators/dissolveops.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -28,7 +28,7 @@
/*checks if there are any unmarked boundary edges in the face region*/
- BMW_Init(®walker, bm, BMW_ISLAND, FACE_MARK, 0);
+ BMW_Init(®walker, bm, BMW_ISLAND, FACE_MARK, BMW_NIL_LAY);
f2 = BMW_Begin(®walker, f);
for (; f2; f2=BMW_Step(®walker)) {
l2 = BMIter_New(&liter2, bm, BM_LOOPS_OF_FACE, f2);
@@ -69,7 +69,7 @@
faces = NULL; /*forces different allocation*/
/*yay, walk!*/
- BMW_Init(®walker, bm, BMW_ISLAND, FACE_MARK, 0);
+ BMW_Init(®walker, bm, BMW_ISLAND, FACE_MARK, BMW_NIL_LAY);
f2 = BMW_Begin(®walker, f);
for (; f2; f2=BMW_Step(®walker)) {
BLI_array_append(faces, f2);
Modified: branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/bmesh/operators/removedoubles.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -347,7 +347,7 @@
BMO_Init_Op(bm, &weldop, "weldverts");
BMO_Flag_Buffer(bm, op, "edges", EDGE_MARK, BM_EDGE);
- BMW_Init(&walker, bm, BMW_SHELL, EDGE_MARK, 0);
+ BMW_Init(&walker, bm, BMW_SHELL, EDGE_MARK, BMW_NIL_LAY);
BM_ITER(e, &iter, bm, BM_EDGES_OF_MESH, NULL) {
if (!BMO_TestFlag(bm, e, EDGE_MARK))
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -885,7 +885,7 @@
BMHeader *h;
BMWalker walker;
- BMW_Init(&walker, bm, walkercode, 0, 0);
+ BMW_Init(&walker, bm, walkercode, 0, BMW_NIL_LAY);
h = BMW_Begin(&walker, start);
for (; h; h=BMW_Step(&walker)) {
if (!select)
@@ -1770,7 +1770,7 @@
eed = eve->e;
}
- BMW_Init(&walker, em->bm, BMW_SHELL, 0, 0);
+ BMW_Init(&walker, em->bm, BMW_SHELL, 0, BMW_NIL_LAY);
e = BMW_Begin(&walker, eed->v1);
for (; e; e=BMW_Step(&walker)) {
BM_Select(em->bm, e->v1, sel);
@@ -1822,7 +1822,7 @@
}
}
- BMW_Init(&walker, em->bm, BMW_SHELL, 0, 0);
+ BMW_Init(&walker, em->bm, BMW_SHELL, 0, BMW_NIL_LAY);
for (i=0; i<tot; i++) {
e = BMW_Begin(&walker, verts[i]);
for (; e; e=BMW_Step(&walker)) {
@@ -1978,7 +1978,7 @@
}
/* Walk over selected elements starting at active */
- BMW_Init(&walker, bm, walktype, BM_SELECT, 0);
+ BMW_Init(&walker, bm, walktype, BM_SELECT, BMW_NIL_LAY);
BLI_assert(walker.order == BMW_BREADTH_FIRST);
for (h = BMW_Begin(&walker, h_act); h != NULL; h = BMW_Step(&walker)) {
/* Deselect elements that aren't at "nth" depth from active */
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -1725,7 +1725,7 @@
}
}
- BMW_Init(&walker, em->bm, BMW_UVISLAND, 0);
+ BMW_Init(&walker, em->bm, BMW_UVISLAND, BMW_NIL_LAY);
BM_ITER(f, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, f) {
@@ -3330,7 +3330,7 @@
/*Walk from the single vertex, selecting everything connected
to it*/
- BMW_Init(&walker, bm, BMW_SHELL, 0, 0);
+ BMW_Init(&walker, bm, BMW_SHELL, 0, BMW_NIL_LAY);
e = BMW_Begin(&walker, v_seed);
for (; e; e=BMW_Step(&walker)) {
BM_Select(bm, e->v1, 1);
Modified: branches/bmesh/blender/source/blender/editors/mesh/loopcut.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/loopcut.c 2011-11-23 23:29:36 UTC (rev 42108)
+++ branches/bmesh/blender/source/blender/editors/mesh/loopcut.c 2011-11-24 00:14:13 UTC (rev 42109)
@@ -204,7 +204,7 @@
}
if (select) {
- BMW_Init(&walker, em->bm, BMW_EDGERING, 0, 0);
+ BMW_Init(&walker, em->bm, BMW_EDGERING, 0, BMW_NIL_LAY);
eed = BMW_Begin(&walker, startedge);
for (; eed; eed=BMW_Step(&walker)) {
BM_Select(em->bm, eed, 1);
@@ -214,7 +214,7 @@
return;
}
- BMW_Init(&walker, em->bm, BMW_EDGERING, 0, 0);
+ BMW_Init(&walker, em->bm, BMW_EDGERING, 0, BMW_NIL_LAY);
eed = startedge = BMW_Begin(&walker, startedge);
lastv1 = NULL;
for (lasteed=NULL; eed; eed=BMW_Step(&walker)) {
More information about the Bf-blender-cvs
mailing list