130#define BMW_ITER(ele, walker, data) \
131 for (BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BMW_begin(walker, (BM_CHECK_TYPE_ELEM(data), data)); ele; \
132 BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BMW_step(walker))
ATTR_WARN_UNUSED_RESULT BMesh * bm
void * BMW_begin(BMWalker *walker, void *start)
void * BMW_step(struct BMWalker *walker)
Step Walker.
void * BMW_state_add(BMWalker *walker)
Add a new Walker State.
void * BMW_current_state(BMWalker *walker)
Current Walker State.
void * BMW_walk(BMWalker *walker)
Main Walking Function.
void BMW_reset(BMWalker *walker)
Reset Walker.
int BMW_current_depth(BMWalker *walker)
Walker Current Depth.
@ BMW_EDGELOOP_NONMANIFOLD
void BMW_end(struct BMWalker *walker)
End Walker.
void BMW_state_remove(BMWalker *walker)
Remove Current Walker State.
void BMW_init(struct BMWalker *walker, BMesh *bm, int type, short mask_vert, short mask_edge, short mask_face, BMWFlag flag, int layer)
Init Walker.
struct GSet * visit_set_alt
void(* begin)(struct BMWalker *walker, void *start)