summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-07-31 17:34:47 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-07-31 17:34:47 +0200
commit39fba06ef758483bc237b9375413974c3bbc16e4 (patch)
tree464961e9b56c9772b8992af5a6e6b35bb119ae07 /src
parentc9b743e5fed3f33b2084d5d8add2b7db2504004b (diff)
code review: collapse edges should copy the 0-skeleton. A test was added
Diffstat (limited to 'src')
-rw-r--r--src/python/include/Simplex_tree_interface.h7
-rwxr-xr-xsrc/python/test/test_simplex_tree.py2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/python/include/Simplex_tree_interface.h b/src/python/include/Simplex_tree_interface.h
index ad0f9a28..f786ad6e 100644
--- a/src/python/include/Simplex_tree_interface.h
+++ b/src/python/include/Simplex_tree_interface.h
@@ -176,9 +176,12 @@ class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> {
edges = Gudhi::collapse::flag_complex_collapse_edges(edges);
}
Simplex_tree_interface* collapsed_stree_ptr = new Simplex_tree_interface();
+ // Copy the original 0-skeleton
+ for (Simplex_handle sh : Base::skeleton_simplex_range(0)) {
+ collapsed_stree_ptr->insert({*(Base::simplex_vertex_range(sh).begin())}, Base::filtration(sh));
+ }
+ // Insert remaining edges
for (auto remaining_edge : edges) {
- collapsed_stree_ptr->insert({std::get<0>(remaining_edge)}, 0.);
- collapsed_stree_ptr->insert({std::get<1>(remaining_edge)}, 0.);
collapsed_stree_ptr->insert({std::get<0>(remaining_edge), std::get<1>(remaining_edge)}, std::get<2>(remaining_edge));
}
return collapsed_stree_ptr;
diff --git a/src/python/test/test_simplex_tree.py b/src/python/test/test_simplex_tree.py
index 30a8f5e0..83be0602 100755
--- a/src/python/test/test_simplex_tree.py
+++ b/src/python/test/test_simplex_tree.py
@@ -356,3 +356,5 @@ def test_collapse_edges():
st.collapse_edges()
assert st.num_simplices() == 9
assert st.find([1, 3]) == False
+ for simplex in st.get_skeleton(0):
+ assert simplex[1] == 1.