[Bf-blender-cvs] [9c190dea4c0] blender-v2.82-release: Fix solidify complex fixed thickness on flipped normal boundary

Henrik Dick noreply at git.blender.org
Wed Jan 29 04:32:53 CET 2020


Commit: 9c190dea4c056a80edde885da3756b889527a8b4
Author: Henrik Dick
Date:   Wed Jan 29 14:28:03 2020 +1100
Branches: blender-v2.82-release
https://developer.blender.org/rB9c190dea4c056a80edde885da3756b889527a8b4

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.

===================================================================

M	source/blender/modifiers/intern/MOD_solidify_nonmanifold.c

===================================================================

diff --git a/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c b/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c
index 144ba25c8fa..799c1c966a3 100644
--- a/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c
+++ b/source/blender/modifiers/intern/MOD_solidify_nonmanifold.c
@@ -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. */



More information about the Bf-blender-cvs mailing list