[Bf-blender-cvs] [7103009a454] soc-2019-adaptive-cloth: Cloth: implemented independent edges

ishbosamiya noreply at git.blender.org
Wed Jul 10 15:33:22 CEST 2019


Commit: 7103009a45437ec85f9f5d127cf9c65db4738eea
Author: ishbosamiya
Date:   Wed Jul 10 16:33:16 2019 +0530
Branches: soc-2019-adaptive-cloth
https://developer.blender.org/rB7103009a45437ec85f9f5d127cf9c65db4738eea

Cloth: implemented independent edges

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

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 c07fc81499c..4860b74cbe4 100644
--- a/source/blender/blenkernel/intern/cloth_remeshing.cpp
+++ b/source/blender/blenkernel/intern/cloth_remeshing.cpp
@@ -410,10 +410,26 @@ static vector<BMEdge *> cloth_remeshing_find_edges_to_flip(BMesh *bm,
   return edges;
 }
 
+static bool cloth_remeshing_independent_edge_test(BMEdge *e, vector<BMEdge *> edges)
+{
+  for (int i = 0; i < edges.size(); i++) {
+    if (e->v1 == edges[i]->v1 || e->v1 == edges[i]->v2 || e->v2 == edges[i]->v1 ||
+        e->v2 == edges[i]->v2) {
+      return false;
+    }
+  }
+  return true;
+}
+
 static vector<BMEdge *> cloth_remeshing_find_independent_edges(vector<BMEdge *> edges)
 {
-  /* TODO(Ish) */
-  return vector<BMEdge *>();
+  vector<BMEdge *> i_edges;
+  for (int i = 0; i < edges.size(); i++) {
+    if (cloth_remeshing_independent_edge_test(edges[i], i_edges)) {
+      i_edges.push_back(edges[i]);
+    }
+  }
+  return i_edges;
 }
 
 static void cloth_remeshing_flip_edges(BMesh *bm,



More information about the Bf-blender-cvs mailing list