[Bf-blender-cvs] [ddbbbf40f67] soc-2021-uv-editor-improvements-edge-selection: Fix: Check edge selection only for common vertex
Siddhartha Jejurkar
noreply at git.blender.org
Sun Aug 8 09:33:09 CEST 2021
Commit: ddbbbf40f670689406ad2de676a0e9620f189bda
Author: Siddhartha Jejurkar
Date: Sat Aug 7 20:38:18 2021 +0530
Branches: soc-2021-uv-editor-improvements-edge-selection
https://developer.blender.org/rBddbbbf40f670689406ad2de676a0e9620f189bda
Fix: Check edge selection only for common vertex
Allow edge selection test only for UV edges that share a common UV
vertex. Previous logic didn't check if the UV edges shared the same
UV vertex.
===================================================================
M source/blender/editors/uvedit/uvedit_select.c
===================================================================
diff --git a/source/blender/editors/uvedit/uvedit_select.c b/source/blender/editors/uvedit/uvedit_select.c
index 3a23c55021b..964ea5ac0d5 100644
--- a/source/blender/editors/uvedit/uvedit_select.c
+++ b/source/blender/editors/uvedit/uvedit_select.c
@@ -1217,10 +1217,22 @@ static bool uvedit_vert_is_any_other_edge_selected(const Scene *scene,
do {
BMLoop *l_radial_iter = e_iter->l;
do {
- if ((l_radial_iter->f != l->f) && uvedit_face_visible_test(scene, l_radial_iter->f)) {
+ if (l_radial_iter->v == l->v) {
+ if (BM_loop_uv_share_vert_check(l, l_radial_iter, cd_loop_uv_offset) &&
+ uvedit_face_visible_test(scene, l_radial_iter->f)) {
- if (uvedit_edge_select_test(scene, l_radial_iter, cd_loop_uv_offset)) {
- return true;
+ if (uvedit_edge_select_test(scene, l_radial_iter, cd_loop_uv_offset)) {
+ return true;
+ }
+ }
+ }
+ else {
+ if (BM_loop_uv_share_vert_check(l, l_radial_iter->next, cd_loop_uv_offset) &&
+ uvedit_face_visible_test(scene, l_radial_iter->f)) {
+
+ if (uvedit_edge_select_test(scene, l_radial_iter, cd_loop_uv_offset)) {
+ return true;
+ }
}
}
} while ((l_radial_iter = l_radial_iter->radial_next) != e_iter->l);
More information about the Bf-blender-cvs
mailing list