diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2018-06-18 21:50:42 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2018-06-18 21:50:42 +0000 |
commit | 5a2b1b9c0c79ef2b0595cf1f9428596261824b45 (patch) | |
tree | c5f1d83b47a828eeb87238603a104ff7f1f34341 /src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h | |
parent | 3ad2102607abfcd9beb6d1c9da05c14452747652 (diff) |
Add periodic 3d Alpha shapes
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/alpha_complex_3d_module_vincent@3622 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: a97b603cf83c5f9a80404dd5786896e51015ee08
Diffstat (limited to 'src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h')
-rw-r--r-- | src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h b/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h index 3b753ee2..e05e5a7f 100644 --- a/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h +++ b/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h @@ -26,6 +26,8 @@ #include <CGAL/Exact_predicates_inexact_constructions_kernel.h> #include <CGAL/Delaunay_triangulation_3.h> +#include <CGAL/Periodic_3_Delaunay_triangulation_traits_3.h> +#include <CGAL/Periodic_3_Delaunay_triangulation_3.h> #include <CGAL/Regular_triangulation_3.h> #include <CGAL/Alpha_shape_3.h> #include <CGAL/Alpha_shape_cell_base_3.h> @@ -49,7 +51,6 @@ public: using Alpha_shape_3 = CGAL::Alpha_shape_3<Triangulation_3>; using Point_3 = Kernel::Point_3; - static const bool exact = false; static const bool weighted = false; static const bool periodic = false; @@ -69,7 +70,6 @@ public: using Alpha_shape_3 = CGAL::Alpha_shape_3<Triangulation_3, Exact_tag>; using Point_3 = Kernel::Point_3; - static const bool exact = true; static const bool weighted = false; static const bool periodic = false; }; @@ -90,13 +90,37 @@ public: using Point_3 = Triangulation_3::Bare_point; using Weighted_point_3 = Triangulation_3::Weighted_point; - static const bool exact = false; static const bool weighted = true; static const bool periodic = false; }; +class Periodic_alpha_shapes_3d { +private: + using Kernel = CGAL::Exact_predicates_inexact_constructions_kernel; + using Periodic_kernel = CGAL::Periodic_3_Delaunay_triangulation_traits_3<Kernel>; +// Vertex type + using DsVb = CGAL::Periodic_3_triangulation_ds_vertex_base_3<>; + using Vb = CGAL::Triangulation_vertex_base_3<Periodic_kernel, DsVb>; + using AsVb = CGAL::Alpha_shape_vertex_base_3<Periodic_kernel, Vb>; +// Cell type + using DsCb = CGAL::Periodic_3_triangulation_ds_cell_base_3<>; + using Cb = CGAL::Triangulation_cell_base_3<Periodic_kernel, DsCb>; + using AsCb = CGAL::Alpha_shape_cell_base_3<Periodic_kernel, Cb>; + using Tds = CGAL::Triangulation_data_structure_3<AsVb, AsCb>; + +public: + using Periodic_delaunay_triangulation_3 = CGAL::Periodic_3_Delaunay_triangulation_3<Periodic_kernel, Tds>; + using Alpha_shape_3 = CGAL::Alpha_shape_3<Periodic_delaunay_triangulation_3>; + using Point_3 = Periodic_kernel::Point_3; + using Alpha_value_type = Alpha_shape_3::FT; + using Iso_cuboid_3 = Periodic_kernel::Iso_cuboid_3; + + static const bool weighted = false; + static const bool periodic = true; +}; + } // namespace alpha_complex } // namespace Gudhi -#endif // ALPHA_COMPLEX_3D_H_ +#endif // ALPHA_COMPLEX_3D_OPTIONS_H_ |