Fix solidify complex fixed thickness on flipped normal boundary

Fixed thickness with zero offset gave uneven results for complex
solidify cases (3+ faces sharing an edge).

See D6643 for steps to redo the error.
This commit is contained in:
Henrik Dick 2020-01-29 14:28:03 +11:00 committed by Campbell Barton
parent 337ce7c984
commit 9c190dea4c
1 changed files with 4 additions and 1 deletions

View File

@ -1407,7 +1407,7 @@ Mesh *MOD_solidify_nonmanifold_applyModifier(ModifierData *md,
disable_boundary_fix = true;
}
}
/* Simple/Even Method. */
/* Fixed/Even Method. */
else {
float total_angle = 0;
float total_angle_back = 0;
@ -1520,6 +1520,9 @@ Mesh *MOD_solidify_nonmanifold_applyModifier(ModifierData *md,
if (has_back && total_angle_back > FLT_EPSILON) {
mul_v3_fl(nor_back, 1.0f / total_angle_back);
add_v3_v3(nor, nor_back);
if (has_front && total_angle > FLT_EPSILON) {
mul_v3_fl(nor, 0.5f);
}
}
}
/* Set move_nor for boundary fix. */