merge with 2.5 at r18865
[blender.git] / source / blender / bmesh / bmesh_queries.h
1 #ifndef BMESH_QUERIES_H
2 #define BMESH_QUERIES_H
3
4 /*Queries*/
5 int BM_Count_Element(struct BMesh *bm, int type);
6 int BM_Vert_In_Edge(struct BMEdge *e, struct BMVert *v);
7 int BM_Vert_In_Face(struct BMFace *f, struct BMVert *v);
8 // int BM_Verts_In_Face(struct BMFace *f, struct BMVert **varr, int len);
9 int BM_Verts_In_Face(struct BMesh *bm, struct BMFace *f, struct BMVert **varr, int len);
10 int BM_Edge_In_Face(struct BMFace *f, struct BMEdge *e);
11 int BM_Verts_In_Edge(struct BMVert *v1, struct BMVert *v2, BMEdge *e);
12
13 struct BMVert *BM_OtherEdgeVert(struct BMEdge *e, struct BMVert *v);
14 //#define BM_OtherEdgeVert(e, v) (v==e->v1?e->v2:e->v1)
15
16 struct BMEdge *BM_Edge_Exist(struct BMVert *v1, struct BMVert *v2);
17 int BM_Vert_EdgeCount(struct BMVert *v);
18 int BM_Edge_FaceCount(struct BMEdge *e);
19 int BM_Vert_FaceCount(struct BMVert *v);
20 int BM_Wire_Vert(struct BMesh *bm, struct BMVert *v);
21 int BM_Wire_Edge(struct BMesh *bm, struct BMEdge *e);
22 int BM_Nonmanifold_Vert(struct BMesh *bm, struct BMVert *v);
23 int BM_Nonmanifold_Edge(struct BMesh *bm, struct BMEdge *e);
24 int BM_Boundary_Edge(struct BMEdge *e);
25 int BM_Face_Sharededges(struct BMFace *f1, struct BMFace *f2);
26 float BM_Face_Angle(struct BMesh *bm, struct BMEdge *e);
27 int BM_Exist_Face_Overlaps(struct BMesh *bm, struct BMVert **varr, int len, struct BMFace **existface);
28 int BM_Edge_Share_Faces(struct BMEdge *e1, struct BMEdge *e2);
29
30 #endif