[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