Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-07-18 08:37:33 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-07-18 08:37:33 +0300
commitf24ccedc188dc59aa27d90358b3f3c8e6b114aa3 (patch)
tree4283c199c8517b8706c96123353dea47755b7eea /source/blender/editors/include
parent016253a6481c6bf7cd9931cf646f983f57d86746 (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')
-rw-r--r--source/blender/editors/include/ED_uvedit.h24
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,