Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2012-04-01 02:09:43 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2012-04-01 02:09:43 +0400
commit4c36a26af5d1093badc88401bfebf8454fdf0f34 (patch)
tree2e82fc5ff893651982d20ffdd15d4c69bfcbe7b8 /source/blender/bmesh/intern/bmesh_walkers.h
parent3b711a6ed009b35bb69cd0ca878eeb8d55fa0e77 (diff)
parent8f949dd58decac45fd49f9a93152f2cddc98d901 (diff)
Merged changes in the trunk up to revision 45308.
Conflicts resolved: source/blender/editors/interface/resources.c source/blender/editors/mesh/editmesh_select.c source/blender/editors/space_view3d/drawobject.c
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_walkers.h')
-rw-r--r--source/blender/bmesh/intern/bmesh_walkers.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers.h b/source/blender/bmesh/intern/bmesh_walkers.h
index 1d548a0d4c7..4f81f38aeb3 100644
--- a/source/blender/bmesh/intern/bmesh_walkers.h
+++ b/source/blender/bmesh/intern/bmesh_walkers.h
@@ -38,6 +38,11 @@ typedef enum {
BMW_BREADTH_FIRST
} BMWOrder;
+typedef enum {
+ BMW_FLAG_NOP = 0,
+ BMW_FLAG_TEST_HIDDEN = (1 << 0)
+} BMWFlag;
+
/*Walkers*/
typedef struct BMWalker {
void (*begin) (struct BMWalker *walker, void *start);
@@ -54,12 +59,14 @@ typedef struct BMWalker {
BLI_mempool *worklist;
ListBase states;
- /* these masks are to be tested against elements BMO_elem_flag_test() */
+ /* these masks are to be tested against elements BMO_elem_flag_test(),
+ * should never be accessed directly only through BMW_init() and bmw_mask_check_*() functions */
short mask_vert;
short mask_edge;
- short mask_loop;
short mask_face;
+ BMWFlag flag;
+
GHash *visithash;
GHash *secvisithash;
int depth;
@@ -71,7 +78,8 @@ typedef struct 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,
- short mask_vert, short mask_edge, short mask_loop, short mask_face,
+ short mask_vert, short mask_edge, short mask_face,
+ BMWFlag flag,
int layer);
void *BMW_begin(BMWalker *walker, void *start);
void *BMW_step(struct BMWalker *walker);