Fix T70601: Lasso select not functioning correctly in Armature Edit Mode

This solution mimics the one used for pose by ignoring the bone line if either end is clipped.
This commit is contained in:
Germano Cavalcante 2019-10-08 16:45:24 -03:00
parent 576c782b11
commit 234f346c2f
Notes: blender-bot 2023-02-14 05:36:11 +01:00
Referenced by issue #70601, Lasso select not functioning correctly in Armature Edit Mode.
1 changed files with 6 additions and 4 deletions

View File

@ -1020,10 +1020,12 @@ static void do_lasso_select_armature__doSelectBone(void *userData,
is_ignore_flag |= BONESEL_TIP;
}
if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
BLI_lasso_is_edge_inside(
data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
is_inside_flag |= BONESEL_BONE;
if (is_ignore_flag == 0) {
if (is_inside_flag == (BONE_ROOTSEL | BONE_TIPSEL) ||
BLI_lasso_is_edge_inside(
data->mcords, data->moves, UNPACK2(screen_co_a), UNPACK2(screen_co_b), INT_MAX)) {
is_inside_flag |= BONESEL_BONE;
}
}
ebone->temp.i = is_inside_flag | (is_ignore_flag >> 16);