diff options
-rw-r--r-- | source/blender/editors/object/object_remesh.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/source/blender/editors/object/object_remesh.c b/source/blender/editors/object/object_remesh.c index 86d41056634..a395a7013fe 100644 --- a/source/blender/editors/object/object_remesh.c +++ b/source/blender/editors/object/object_remesh.c @@ -219,7 +219,6 @@ static bool mesh_is_manifold_consistent(Mesh *mesh) bool is_manifold_consistent = true; const MLoop *mloop = mesh->mloop; - const MPoly *mpoly = mesh->mpoly; char *edge_faces = (char *)MEM_callocN(mesh->totedge * sizeof(char), "remesh_manifold_check"); int *edge_vert = (int *)MEM_malloc_arrayN( mesh->totedge, sizeof(unsigned int), "remesh_consistent_check"); @@ -228,25 +227,21 @@ static bool mesh_is_manifold_consistent(Mesh *mesh) edge_vert[i] = -1; } - for (unsigned int poly_index = 0; poly_index < mesh->totpoly && is_manifold_consistent; - poly_index++) { - const MPoly *poly = &mpoly[poly_index]; - for (unsigned int corner = 0; corner < poly->totloop; corner++) { - const MLoop *loop = &mloop[poly->loopstart + corner]; - edge_faces[loop->e] += 1; - if (edge_faces[loop->e] > 2) { - is_manifold_consistent = false; - break; - } + for (unsigned int loop_idx = 0; loop_idx < mesh->totloop; loop_idx++) { + const MLoop *loop = &mloop[loop_idx]; + edge_faces[loop->e] += 1; + if (edge_faces[loop->e] > 2) { + is_manifold_consistent = false; + break; + } - if (edge_vert[loop->e] == -1) { - edge_vert[loop->e] = loop->v; - } - else if (edge_vert[loop->e] == loop->v) { - /* Mesh has flips in the surface so it is non consistent */ - is_manifold_consistent = false; - break; - } + if (edge_vert[loop->e] == -1) { + edge_vert[loop->e] = loop->v; + } + else if (edge_vert[loop->e] == loop->v) { + /* Mesh has flips in the surface so it is non consistent */ + is_manifold_consistent = false; + break; } } |