[Bf-blender-cvs] [25fa832d010] soc-2019-adaptive-cloth: Cloth: attempt at fixing extra face after collapsing edge
ishbosamiya
noreply at git.blender.org
Thu Aug 15 18:08:27 CEST 2019
Commit: 25fa832d01010f09b3be64db1fe89b81e429ca84
Author: ishbosamiya
Date: Thu Aug 15 12:16:39 2019 +0530
Branches: soc-2019-adaptive-cloth
https://developer.blender.org/rB25fa832d01010f09b3be64db1fe89b81e429ca84
Cloth: attempt at fixing extra face after collapsing edge
===================================================================
M source/blender/blenkernel/intern/cloth_remeshing.cpp
===================================================================
diff --git a/source/blender/blenkernel/intern/cloth_remeshing.cpp b/source/blender/blenkernel/intern/cloth_remeshing.cpp
index f434aefd7af..4d97cd06c01 100644
--- a/source/blender/blenkernel/intern/cloth_remeshing.cpp
+++ b/source/blender/blenkernel/intern/cloth_remeshing.cpp
@@ -1862,6 +1862,31 @@ static bool cloth_remeshing_collapse_edges(ClothModifierData *clmd,
char file_name[100];
sprintf(file_name, "/tmp/objs/collapse_edge_debug_after_collapse.obj");
cloth_remeshing_export_obj(clmd->clothObject->bm, file_name);
+#endif
+#if 0
+ /* Fix for when collapse edges leaves behind an extra
+ * triangle */
+ BMFace *f;
+ BMIter fiter;
+ BM_ITER_ELEM (f, &fiter, temp_e, BM_FACES_OF_EDGE) {
+ BMVert *vs[3];
+ BM_face_as_array_vert_tri(f, vs);
+ bool should_break = false;
+ for (int i = 0; i < 3; i++) {
+ /* if (!BM_vert_is_manifold(vs[i])) { */
+ if (cloth_remeshing_vert_on_seam_or_boundary_test(
+ clmd->clothObject->bm, vs[i], cd_loop_uv_offset) &&
+ !BM_vert_is_manifold(vs[i])) {
+ BM_vert_kill(clmd->clothObject->bm, vs[i]);
+ printf("Killed vert because of non manifold vert\n");
+ should_break = true;
+ break;
+ }
+ }
+ if (should_break) {
+ break;
+ }
+ }
#endif
}
BLI_assert(BM_edge_face_count(temp_e) <= 2);
More information about the Bf-blender-cvs
mailing list