forked from bartvdbraak/blender
BMesh: Tweak behavior for select more/less
Stepping over faces gives overall nice results but it stopped wire edges from working. Now step over wire too.
This commit is contained in:
parent
0996ee3bb8
commit
dcd662c695
@ -236,6 +236,20 @@ static void bmo_region_extend_expand(
|
|||||||
bmo_face_flag_set_flush(bm, f, SEL_FLAG, true);
|
bmo_face_flag_set_flush(bm, f, SEL_FLAG, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* handle wire edges (when stepping over faces) */
|
||||||
|
{
|
||||||
|
BMIter eiter;
|
||||||
|
BMEdge *e;
|
||||||
|
BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
|
||||||
|
if (BM_edge_is_wire(e)) {
|
||||||
|
if (!BMO_elem_flag_test(bm, e, SEL_FLAG)) {
|
||||||
|
BMO_elem_flag_enable(bm, e, SEL_FLAG);
|
||||||
|
BMO_elem_flag_enable(bm, BM_edge_other_vert(e, v), SEL_FLAG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -306,6 +320,21 @@ static void bmo_region_extend_contract(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* handle wire edges (when stepping over faces) */
|
||||||
|
if (!found) {
|
||||||
|
BMIter eiter;
|
||||||
|
BMEdge *e;
|
||||||
|
|
||||||
|
BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
|
||||||
|
if (BM_edge_is_wire(e)) {
|
||||||
|
if (!BMO_elem_flag_test(bm, e, SEL_ORIG)) {
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found) {
|
if (found) {
|
||||||
|
Loading…
Reference in New Issue
Block a user