From 8ccc304db8b118466dff3c3068f6884ba198dc97 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Fri, 26 Jun 2020 19:02:56 +0200 Subject: Use free functions for tests and examples --- .../example/edge_collapse_conserve_persistence.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/Collapse/example') diff --git a/src/Collapse/example/edge_collapse_conserve_persistence.cpp b/src/Collapse/example/edge_collapse_conserve_persistence.cpp index e6672d25..b2c55e7a 100644 --- a/src/Collapse/example/edge_collapse_conserve_persistence.cpp +++ b/src/Collapse/example/edge_collapse_conserve_persistence.cpp @@ -29,8 +29,7 @@ using Vertex_handle = Simplex_tree::Vertex_handle; using Point = std::vector; using Vector_of_points = std::vector; -using Flag_complex_edge_collapser = Gudhi::collapse::Flag_complex_edge_collapser; -using Proximity_graph = Gudhi::Proximity_graph; +using Proximity_graph = Gudhi::Proximity_graph; using Field_Zp = Gudhi::persistent_cohomology::Field_Zp; using Persistent_cohomology = Gudhi::persistent_cohomology::Persistent_cohomology; @@ -111,10 +110,10 @@ int main(int argc, char* argv[]) { int ambient_dim = point_vector[0].size(); // ***** Simplex tree from a flag complex built after collapse ***** - Flag_complex_edge_collapser edge_collapser( + auto remaining_edges = Gudhi::collapse::flag_complex_collapse_edges( boost::adaptors::transform(edges(proximity_graph), [&](auto&&edge){ - return std::make_tuple(source(edge, proximity_graph), - target(edge, proximity_graph), + return std::make_tuple(static_cast(source(edge, proximity_graph)), + static_cast(target(edge, proximity_graph)), get(Gudhi::edge_filtration_t(), proximity_graph, edge)); }) ); @@ -124,11 +123,10 @@ int main(int argc, char* argv[]) { // insert the vertex with a 0. filtration value just like a Rips stree_from_collapse.insert_simplex({vertex}, 0.); } - edge_collapser.process_edges( - [&stree_from_collapse](Vertex_handle u, Vertex_handle v, Filtration_value filtration) { - // insert the edge - stree_from_collapse.insert_simplex({u, v}, filtration); - }); + for (auto remaining_edge : remaining_edges) { + stree_from_collapse.insert_simplex({std::get<0>(remaining_edge), std::get<1>(remaining_edge)}, + std::get<2>(remaining_edge)); + } std::vector persistence_intervals_from_collapse = get_persistence_intervals(stree_from_collapse, ambient_dim); -- cgit v1.2.3