From 88a83fe20ce9100f2292c3945d26e4696fd2e7d2 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Fri, 23 Nov 2018 09:06:04 +0000 Subject: // We could use Epick + CGAL::Tag_true for not weighted nor periodic, but during benchmark, we found a bug // https://github.com/CGAL/cgal/issues/3460 // This is the reason we only use Epick + CGAL::Tag_false, or Epeck // // FAST SAFE EXACT // Epick + CGAL::Tag_false Epeck Epeck git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/alpha_complex_3d_module_vincent@4012 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 88e844333b5bae8fcfd1104e493cdada1e4a4a3b --- src/Alpha_complex/include/gudhi/Alpha_complex_3d.h | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src/Alpha_complex/include/gudhi') diff --git a/src/Alpha_complex/include/gudhi/Alpha_complex_3d.h b/src/Alpha_complex/include/gudhi/Alpha_complex_3d.h index c33b9cf8..b5d4201d 100644 --- a/src/Alpha_complex/include/gudhi/Alpha_complex_3d.h +++ b/src/Alpha_complex/include/gudhi/Alpha_complex_3d.h @@ -155,16 +155,16 @@ class Alpha_complex_3d { // Epeck = Exact_predicates_exact_constructions_kernel // Exact_alpha_comparison_tag = exact version of CGAL Alpha_shape_3 and of its objects (Alpha_shape_vertex_base_3 and // Alpha_shape_cell_base_3). Not available if weighted or periodic. - // Can be CGAL::Tag_false or CGAL::Tag_true + // Can be CGAL::Tag_false or CGAL::Tag_true. Default is False. // cf. https://doc.cgal.org/latest/Alpha_shapes_3/classCGAL_1_1Alpha__shape__3.html // + // We could use Epick + CGAL::Tag_true for not weighted nor periodic, but during benchmark, we found a bug + // https://github.com/CGAL/cgal/issues/3460 + // This is the reason we only use Epick + CGAL::Tag_false, or Epeck // - // FAST SAFE EXACT - // not weighted and Epick + CGAL::Tag_false Epick + CGAL::Tag_true Epick + CGAL::Tag_true - // not periodic - // - // otherwise Epick + CGAL::Tag_false Epeck Epeck - using Predicates = typename std::conditional<((!Weighted && !Periodic) || (Complexity == complexity::FAST)), + // FAST SAFE EXACT + // Epick + CGAL::Tag_false Epeck Epeck + using Predicates = typename std::conditional<(Complexity == complexity::FAST), CGAL::Exact_predicates_inexact_constructions_kernel, CGAL::Exact_predicates_exact_constructions_kernel>::type; @@ -188,15 +188,13 @@ class Alpha_complex_3d { using Kernel = typename Kernel_3::Kernel; - using Exact_alpha_comparison_tag = typename std::conditional<(Complexity == complexity::FAST), CGAL::Tag_false, CGAL::Tag_true>::type; - using TdsVb = typename std::conditional, CGAL::Triangulation_ds_vertex_base_3<>>::type; using Tvb = typename std::conditional, CGAL::Triangulation_vertex_base_3>::type; - using Vb = CGAL::Alpha_shape_vertex_base_3; + using Vb = CGAL::Alpha_shape_vertex_base_3; using TdsCb = typename std::conditional, CGAL::Triangulation_ds_cell_base_3<>>::type; @@ -204,7 +202,7 @@ class Alpha_complex_3d { using Tcb = typename std::conditional, CGAL::Triangulation_cell_base_3>::type; - using Cb = CGAL::Alpha_shape_cell_base_3; + using Cb = CGAL::Alpha_shape_cell_base_3; using Tds = CGAL::Triangulation_data_structure_3; // The other way to do a conditional type. Here there 4 possibilities, cannot use std::conditional @@ -247,7 +245,7 @@ public: * * The `Gudhi::alpha_complex::Alpha_complex_3d` is a wrapper on top of this class to ease the standard, weighted * and/or periodic build of the Alpha complex 3d.*/ - using Alpha_shape_3 = CGAL::Alpha_shape_3; + using Alpha_shape_3 = CGAL::Alpha_shape_3
; /** \brief The alpha values type. * Must be compatible with double. */ -- cgit v1.2.3