diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-07-18 08:37:33 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-07-18 08:37:33 +0300 |
commit | f24ccedc188dc59aa27d90358b3f3c8e6b114aa3 (patch) | |
tree | 4283c199c8517b8706c96123353dea47755b7eea /source/blender/editors/include/ED_uvedit.h | |
parent | 016253a6481c6bf7cd9931cf646f983f57d86746 (diff) |
UV: utility functions for sticky select setting
Support setting vert/edge/face selection, using the sticky option
without performing a second loop over all faces to flush selection.
Existing selection code didn't take advantage of BMesh connectivity
since the logic is from before BMesh was included.
Diffstat (limited to 'source/blender/editors/include/ED_uvedit.h')
-rw-r--r-- | source/blender/editors/include/ED_uvedit.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index 1b87fae1bb4..b9b8d162d85 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -115,6 +115,14 @@ bool uvedit_uv_select_test(const struct Scene *scene, struct BMLoop *l, const int cd_loop_uv_offset); /* uv face */ +void uvedit_face_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMFace *efa, + const bool select, + const bool do_history, + const float limit[2], + const int cd_loop_uv_offset); void uvedit_face_select_set(const struct Scene *scene, struct BMEditMesh *em, struct BMFace *efa, @@ -131,6 +139,14 @@ void uvedit_face_select_disable(const struct Scene *scene, struct BMFace *efa, const int cd_loop_uv_offset); /* uv edge */ +void uvedit_edge_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMLoop *l, + const bool select, + const bool do_history, + const float limit[2], + const uint cd_loop_uv_offset); void uvedit_edge_select_set(const struct Scene *scene, struct BMEditMesh *em, struct BMLoop *l, @@ -147,6 +163,14 @@ void uvedit_edge_select_disable(const struct Scene *scene, struct BMLoop *l, const int cd_loop_uv_offset); /* uv vert */ +void uvedit_uv_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMLoop *l, + const bool select, + const bool do_history, + const float limit[2], + const uint cd_loop_uv_offset); void uvedit_uv_select_set(const struct Scene *scene, struct BMEditMesh *em, struct BMLoop *l, |