From d35581357525d02e3126e9fe901904cc764e1f5c Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Fri, 13 Jan 2023 14:31:59 +0100 Subject: code review: was not DRY at all --- .../test/Delaunay_complex_unit_test.h | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/Alpha_complex/test/Delaunay_complex_unit_test.h (limited to 'src/Alpha_complex/test/Delaunay_complex_unit_test.h') diff --git a/src/Alpha_complex/test/Delaunay_complex_unit_test.h b/src/Alpha_complex/test/Delaunay_complex_unit_test.h new file mode 100644 index 00000000..e9a73f62 --- /dev/null +++ b/src/Alpha_complex/test/Delaunay_complex_unit_test.h @@ -0,0 +1,49 @@ +/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT. + * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details. + * Author(s): Vincent Rouvreau + * + * Copyright (C) 2020 Inria + * + * Modification(s): + * - YYYY/MM Author: Description of the modification + */ + +#include +#include // NaN +#include + +#include +// to construct a simplex_tree from Delaunay_triangulation +#include +#include +#include +#include + +using Simplex_tree = Gudhi::Simplex_tree<>; +using Simplex_handle = Simplex_tree::Simplex_handle; + +template +void compare_delaunay_complex_simplices() { + std::cout << "*****************************************************************************************************"; + using Point = typename CGAL_kernel::Point_d; + std::vector points; + // 50 points on a 4-sphere + points = Gudhi::generate_points_on_sphere_d(10, 5, 1.); + + Gudhi::alpha_complex::Alpha_complex alpha_complex(points); + + // Alpha complex + Simplex_tree stree_from_alpha_complex; + BOOST_CHECK(alpha_complex.create_complex(stree_from_alpha_complex)); + + // Delaunay complex + Simplex_tree stree_from_delaunay_complex; + BOOST_CHECK(alpha_complex.create_complex(stree_from_delaunay_complex, 0., false, true)); + + // Check all the simplices from alpha complex are in the Delaunay complex + for (auto f_simplex : stree_from_alpha_complex.complex_simplex_range()) { + Simplex_handle sh = stree_from_delaunay_complex.find(stree_from_alpha_complex.simplex_vertex_range(f_simplex)); + BOOST_CHECK(std::isnan(stree_from_delaunay_complex.filtration(sh))); + BOOST_CHECK(sh != stree_from_delaunay_complex.null_simplex()); + } +} -- cgit v1.2.3