diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-02-11 11:40:54 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-02-11 13:30:13 +0300 |
commit | 2d1e07268645b481dbbb924a5f638dc9fa870945 (patch) | |
tree | b114d919168a89370b90a5aff7636c8339b6c879 /source/blender/bmesh/intern/bmesh_interp.h | |
parent | f2951c23cf8d84bdb0964f53a93957f31c8b9f41 (diff) |
UV Island support for vertex & edge slide
This ensures slide with `Correct UVs` enabled, keeps UV's (any loop custom-data) contiguous.
Adds 2 key functions `BM_vert_loop_groups_data_layer_create` and `BM_vert_loop_groups_data_layer_merge`
They work by collecting matching loop custom-data around the vertices loop-fan,
and merging the custom-data after edits are made.
Thanks to @mont29 for review!
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_interp.h')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_interp.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_interp.h b/source/blender/bmesh/intern/bmesh_interp.h index c605ad31ae7..cd6d5e2731d 100644 --- a/source/blender/bmesh/intern/bmesh_interp.h +++ b/source/blender/bmesh/intern/bmesh_interp.h @@ -27,6 +27,9 @@ * \ingroup bmesh */ +struct LinkNode; +struct MemArena; + void BM_loop_interp_multires(BMesh *bm, BMLoop *target, BMFace *source); void BM_vert_interp_from_face(BMesh *bm, BMVert *v, BMFace *source); @@ -49,5 +52,7 @@ void BM_loop_interp_from_face(BMesh *bm, BMLoop *target, BMFace *source, const bool do_vertex, const bool do_multires); void BM_face_multires_bounds_smooth(BMesh *bm, BMFace *f); +struct LinkNode *BM_vert_loop_groups_data_layer_create(BMesh *bm, BMVert *v, int layer_n, struct MemArena *arena); +void BM_vert_loop_groups_data_layer_merge(BMesh *bm, struct LinkNode *groups, int layer_n); #endif /* __BMESH_INTERP_H__ */ |