4 typedef struct BMEditSelection
6 struct BMEditSelection *next, *prev;
12 void BM_Pin(BMesh *bm, void *element, int pin);
13 void BM_Pin_Vert(BMesh *bm, BMVert *v, int pin);
14 void BM_Pin_Edge(BMesh *bm, BMEdge *e, int pin);
15 void BM_Pin_Face(BMesh *bm, BMFace *f, int pin);
17 /*geometry hiding code*/
18 void BM_Hide(BMesh *bm, void *element, int hide);
19 void BM_Hide_Vert(BMesh *bm, BMVert *v, int hide);
20 void BM_Hide_Edge(BMesh *bm, BMEdge *e, int hide);
21 void BM_Hide_Face(BMesh *bm, BMFace *f, int hide);
24 void BM_Select(struct BMesh *bm, void *element, int select);
25 /*I don't use this function anywhere, been using BM_TestHFlag instead.
26 Need to decide either to keep it and convert everything over, or
28 int BM_Selected(BMesh *bm, void *element);
30 void BM_clear_flag_all(BMesh *bm, int flag);
32 /*individual element select functions, BM_Select is a shortcut for these
33 that automatically detects which one to use*/
34 void BM_Select_Vert(struct BMesh *bm, struct BMVert *v, int select);
35 void BM_Select_Edge(struct BMesh *bm, struct BMEdge *e, int select);
36 void BM_Select_Face(struct BMesh *bm, struct BMFace *f, int select);
38 void BM_Selectmode_Set(struct BMesh *bm, int selectmode);
40 /*counts number of elements with flag set*/
41 int BM_CountFlag(struct BMesh *bm, int type, int flag, int respectflag);
43 /*edit selection stuff*/
44 void BM_editselection_center(BMesh *bm, float *center, BMEditSelection *ese);
45 void BM_editselection_normal(float *normal, BMEditSelection *ese);
46 void BM_editselection_plane(BMesh *bm, float *plane, BMEditSelection *ese);
47 void BM_remove_selection(BMesh *bm, void *data);
48 void BM_store_selection(BMesh *bm, void *data);
49 void BM_validate_selections(BMesh *bm);
50 void BM_clear_selection_history(BMesh *em);