doxygen: add newline after \file
[blender.git] / source / blender / bmesh / intern / bmesh_walkers.h
index 00217dd..fc91195 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Joseph Eagar.
- *
- * ***** END GPL LICENSE BLOCK *****
  */
 
 #ifndef __BMESH_WALKERS_H__
 #define __BMESH_WALKERS_H__
 
-/** \file blender/bmesh/intern/bmesh_walkers.h
- *  \ingroup bmesh
+/** \file
+ * \ingroup bmesh
  */
 
 /*
@@ -38,7 +32,7 @@ typedef enum {
 
 typedef enum {
        BMW_FLAG_NOP = 0,
-       BMW_FLAG_TEST_HIDDEN = (1 << 0)
+       BMW_FLAG_TEST_HIDDEN = (1 << 0),
 } BMWFlag;
 
 /*Walkers*/
@@ -93,6 +87,11 @@ void  BMW_state_remove(BMWalker *walker);
 void *BMW_walk(BMWalker *walker);
 void  BMW_reset(BMWalker *walker);
 
+#define BMW_ITER(ele, walker, data) \
+       for (BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BMW_begin(walker, (BM_CHECK_TYPE_ELEM(data), data)); \
+            ele; \
+            BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BMW_step(walker))
+
 /*
  * example of usage, walking over an island of tool flagged faces:
  *
@@ -109,6 +108,8 @@ void  BMW_reset(BMWalker *walker);
 
 enum {
        BMW_VERT_SHELL,
+       BMW_LOOP_SHELL,
+       BMW_LOOP_SHELL_WIRE,
        BMW_FACE_SHELL,
        BMW_EDGELOOP,
        BMW_FACELOOP,
@@ -118,12 +119,13 @@ enum {
        BMW_LOOPDATA_ISLAND,
        BMW_ISLANDBOUND,
        BMW_ISLAND,
+       BMW_ISLAND_MANIFOLD,
        BMW_CONNECTED_VERTEX,
        /* end of array index enum vals */
 
        /* do not intitialze function pointers and struct size in BMW_init */
        BMW_CUSTOM,
-       BMW_MAXWALKERS
+       BMW_MAXWALKERS,
 };
 
 /* use with BMW_init, so as not to confuse with restrict flags */