summaryrefslogtreecommitdiff
path: root/src/Collapse/example/edge_collapse_basic_example.cpp
diff options
context:
space:
mode:
authorVincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com>2020-07-02 12:25:08 -0700
committerGitHub <noreply@github.com>2020-07-02 12:25:08 -0700
commit444ec77fe16783c35ef86598011a662c5d6e8d92 (patch)
tree5020b95c18d0206fe8e693a40d1e4aaf132d6a51 /src/Collapse/example/edge_collapse_basic_example.cpp
parent3c7a4d01ec758d68a219fae8981c9847cf8d7a0f (diff)
parente44b0a88e2241f81b51b9060f73ac86f53c9cfc1 (diff)
Merge pull request #281 from VincentRouvreau/edge_collapse_integration_vincent
Edge collapse integration vincent
Diffstat (limited to 'src/Collapse/example/edge_collapse_basic_example.cpp')
-rw-r--r--src/Collapse/example/edge_collapse_basic_example.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Collapse/example/edge_collapse_basic_example.cpp b/src/Collapse/example/edge_collapse_basic_example.cpp
new file mode 100644
index 00000000..1b3dc1b5
--- /dev/null
+++ b/src/Collapse/example/edge_collapse_basic_example.cpp
@@ -0,0 +1,36 @@
+#include <gudhi/Flag_complex_edge_collapser.h>
+
+#include <iostream>
+#include <vector>
+#include <tuple>
+
+int main() {
+ // Type definitions
+ using Filtration_value = float;
+ using Vertex_handle = short;
+ using Filtered_edge = std::tuple<Vertex_handle, Vertex_handle, Filtration_value>;
+ using Filtered_edge_list = std::vector<Filtered_edge>;
+
+ // 1 2
+ // o---o
+ // |\ /|
+ // | x |
+ // |/ \|
+ // o---o
+ // 0 3
+ Filtered_edge_list graph = {{0, 1, 1.},
+ {1, 2, 1.},
+ {2, 3, 1.},
+ {3, 0, 1.},
+ {0, 2, 2.},
+ {1, 3, 2.}};
+
+ auto remaining_edges = Gudhi::collapse::flag_complex_collapse_edges(graph);
+
+ for (auto filtered_edge_from_collapse : remaining_edges) {
+ std::cout << "fn[" << std::get<0>(filtered_edge_from_collapse) << ", " << std::get<1>(filtered_edge_from_collapse)
+ << "] = " << std::get<2>(filtered_edge_from_collapse) << std::endl;
+ }
+
+ return 0;
+}