remove mesh and object arguments from bmesh operators, these are stored within the...
[blender-staging.git] / source / blender / bmesh / intern / bmesh_inline.c
1 #ifndef BM_INLINE_C
2 #define BM_INLINE_C
3
4 #include "bmesh.h"
5
6 BM_INLINE int BM_TestHFlag(const void *element, const int flag)
7 {
8         return ((BMHeader *)element)->flag & flag;
9 }
10
11 /*stuff for dealing with header flags*/
12 BM_INLINE void BM_SetHFlag(void *element, const int flag)
13 {
14         ((BMHeader *)element)->flag |= flag;
15 }
16
17 /*stuff for dealing with header flags*/
18 BM_INLINE void BM_ClearHFlag(void *element, const int flag)
19 {
20         ((BMHeader *)element)->flag &= ~flag;
21 }
22
23 /*stuff for dealing BM_ToggleHFlag header flags*/
24 BM_INLINE void BM_ToggleHFlag(void *element, const int flag)
25 {
26         ((BMHeader *)element)->flag ^= flag;
27 }
28
29 BM_INLINE void BM_SetIndex(void *element, const int index)
30 {
31         ((BMHeader *)element)->index = index;
32 }
33
34 BM_INLINE int BM_GetIndex(const void *element)
35 {
36         return ((BMHeader *)element)->index;
37 }
38
39 #endif /*BM_INLINE_C*/
40