Merge branch 'blender-v2.90-release'
This commit is contained in:
commit
8719ac990f
|
@ -830,17 +830,21 @@ static bool pose_face_sets_fk_find_masked_floodfill_cb(
|
|||
}
|
||||
|
||||
const int to_face_set = SCULPT_vertex_face_set_get(ss, to_v);
|
||||
if (SCULPT_vertex_has_unique_face_set(ss, to_v) &&
|
||||
!SCULPT_vertex_has_unique_face_set(ss, from_v) &&
|
||||
SCULPT_vertex_has_face_set(ss, from_v, to_face_set)) {
|
||||
if (!BLI_gset_haskey(data->visited_face_sets, POINTER_FROM_INT(to_face_set))) {
|
||||
if (SCULPT_vertex_has_unique_face_set(ss, to_v) &&
|
||||
!SCULPT_vertex_has_unique_face_set(ss, from_v) &&
|
||||
SCULPT_vertex_has_face_set(ss, from_v, to_face_set)) {
|
||||
|
||||
if (data->floodfill_it[to_v] > data->masked_face_set_it) {
|
||||
data->masked_face_set = to_face_set;
|
||||
data->masked_face_set_it = data->floodfill_it[to_v];
|
||||
}
|
||||
BLI_gset_add(data->visited_face_sets, POINTER_FROM_INT(to_face_set));
|
||||
|
||||
if (data->target_face_set == SCULPT_FACE_SET_NONE) {
|
||||
data->target_face_set = to_face_set;
|
||||
if (data->floodfill_it[to_v] >= data->masked_face_set_it) {
|
||||
data->masked_face_set = to_face_set;
|
||||
data->masked_face_set_it = data->floodfill_it[to_v];
|
||||
}
|
||||
|
||||
if (data->target_face_set == SCULPT_FACE_SET_NONE) {
|
||||
data->target_face_set = to_face_set;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -875,8 +879,10 @@ static SculptPoseIKChain *pose_ik_chain_init_face_sets_fk(
|
|||
fdata.masked_face_set = SCULPT_FACE_SET_NONE;
|
||||
fdata.target_face_set = SCULPT_FACE_SET_NONE;
|
||||
fdata.masked_face_set_it = 0;
|
||||
fdata.visited_face_sets = BLI_gset_int_new_ex("visited_face_sets", 3);
|
||||
SCULPT_floodfill_execute(ss, &flood, pose_face_sets_fk_find_masked_floodfill_cb, &fdata);
|
||||
SCULPT_floodfill_free(&flood);
|
||||
BLI_gset_free(fdata.visited_face_sets, NULL);
|
||||
|
||||
int origin_count = 0;
|
||||
float origin_acc[3] = {0.0f};
|
||||
|
|
Loading…
Reference in New Issue