[Bf-blender-cvs] [77104bf3189] blender-v2.93-release: Fix T92355: Quadriflow crashes with zero length edges

Sebastian Parborg noreply at git.blender.org
Tue Nov 2 13:52:41 CET 2021


Commit: 77104bf31891229e7d18ab56506ce6f456491eb0
Author: Sebastian Parborg
Date:   Thu Oct 21 15:13:55 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB77104bf31891229e7d18ab56506ce6f456491eb0

Fix T92355: Quadriflow crashes with zero length edges

Add a check for zero length edges to the manifold check as quadriflow
doesn't handle meshes with these.

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

M	source/blender/editors/object/object_remesh.c

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

diff --git a/source/blender/editors/object/object_remesh.c b/source/blender/editors/object/object_remesh.c
index 9ef2cce875f..24de6b6052e 100644
--- a/source/blender/editors/object/object_remesh.c
+++ b/source/blender/editors/object/object_remesh.c
@@ -699,12 +699,19 @@ static bool mesh_is_manifold_consistent(Mesh *mesh)
   }
 
   if (is_manifold_consistent) {
-    /* check for wire edges */
     for (uint i = 0; i < mesh->totedge; i++) {
+      /* Check for wire edges. */
       if (edge_faces[i] == 0) {
         is_manifold_consistent = false;
         break;
       }
+      /* Check for zero length edges */
+      MVert *v1 = &mesh->mvert[mesh->medge[i].v1];
+      MVert *v2 = &mesh->mvert[mesh->medge[i].v2];
+      if (compare_v3v3(v1->co, v2->co, 1e-4f)) {
+        is_manifold_consistent = false;
+        break;
+      }
     }
   }



More information about the Bf-blender-cvs mailing list