diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-22 18:50:38 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-22 18:50:38 +0400 |
commit | 57ce6d1470907b283742f45d369b4fe6edcee361 (patch) | |
tree | f0a0cdf436b57dd09020a48cb9fe7a599d353499 /source/blender/bmesh/intern/bmesh_queries.h | |
parent | 9634f8f1151740609230c24761ac20fdfe1a9168 (diff) |
old todo, rotate around individual origins now supports connected face/edge islands.
previously this gave very odd/annoying results, see bug reports [#36134], [#35419]
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.h b/source/blender/bmesh/intern/bmesh_queries.h index f62de692778..23d89cf92fa 100644 --- a/source/blender/bmesh/intern/bmesh_queries.h +++ b/source/blender/bmesh/intern/bmesh_queries.h @@ -27,6 +27,8 @@ * \ingroup bmesh */ +typedef bool (*BMElemFilterFunc)(BMElem *, void *user_data); + bool BM_vert_in_face(BMFace *f, BMVert *v); int BM_verts_in_face_count(BMFace *f, BMVert **varr, int len); bool BM_verts_in_face(BMFace *f, BMVert **varr, int len); @@ -115,8 +117,13 @@ bool BM_face_is_any_vert_flag_test(BMFace *f, const char hflag); bool BM_face_is_any_edge_flag_test(BMFace *f, const char hflag); float BM_mesh_calc_volume(BMesh *bm, bool is_signed); + int BM_mesh_calc_face_groups(BMesh *bm, int *r_groups_array, int (**r_group_index)[2], - bool (*filter_fn)(BMElem *, void *user_data), void *user_data, const char htype); + BMElemFilterFunc filter_fn, void *user_data, + const char hflag_test, const char htype_step); +int BM_mesh_calc_edge_groups(BMesh *bm, int *r_groups_array, int (**r_group_index)[2], + BMElemFilterFunc filter_fn, void *user_data, + const char hflag_test); /* not really any good place to put this */ float bmesh_subd_falloff_calc(const int falloff, float val); |