diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-08 17:30:11 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-08 17:30:11 +0400 |
commit | 27734f5bec7b717e82128e637c805b95e2b0f889 (patch) | |
tree | 2251c8f5955d5556647b8c2b3830861d2534fe37 /source/blender/bmesh/intern/bmesh_queries.h | |
parent | 0a006cce9cdf71aa02cd5cc0b8c13d046550f217 (diff) |
fix/improve normal calculation, noticed when checking on the previous bugfix.
- normals depended on the meshes rotation, so you could rotate Suzzane and in some cases one of the eye normals would be flipped.
- normals depended on the meshes placement in relation to the meshes center, now find the outer most face by each face-island center.
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_queries.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_queries.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_queries.h b/source/blender/bmesh/intern/bmesh_queries.h index 7d599a9c8af..94dae1d1d23 100644 --- a/source/blender/bmesh/intern/bmesh_queries.h +++ b/source/blender/bmesh/intern/bmesh_queries.h @@ -115,6 +115,8 @@ 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], + void *user_data, bool (*filter_fn)(BMEdge *, void *user_data)); /* not really any good place to put this */ float bmesh_subd_falloff_calc(const int falloff, float val); |