Fix #110626: restore abf uv unwrap logic

Regression from 8ace65e3c6.
This commit is contained in:
Chris Blackbourn 2023-07-31 10:39:24 +08:00
parent 74a222f0e0
commit a35ad5899f
2 changed files with 3 additions and 4 deletions

View File

@ -2216,7 +2216,7 @@ float pack_islands(const Span<PackIsland *> &islands, const UVPackIsland_Params
blender::Array<uv_phi> phis(islands.size());
const float scale = 1.0f;
const float max_uv = pack_islands_scale_margin(islands, scale, margin, params, phis);
const float result = can_scale_count > 0 ? params.target_extent / max_uv : 1.0f;
const float result = can_scale_count && max_uv > 1e-14f ? params.target_extent / max_uv : 1.0f;
for (const int64_t i : islands.index_range()) {
BLI_assert(result == 1.0f || islands[i]->can_scale_(params));
islands[i]->place_(scale, phis[i]);

View File

@ -2984,10 +2984,9 @@ static void p_chart_lscm_begin(PChart *chart, bool live, bool abf)
}
if (abf) {
if (p_chart_abf_solve(chart)) {
return;
if (!p_chart_abf_solve(chart)) {
param_warning("ABF solving failed: falling back to LSCM.\n");
}
param_warning("ABF solving failed: falling back to LSCM.\n");
}
if (npins <= 1) {