summaryrefslogtreecommitdiff
path: root/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-06-22 15:50:51 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-06-22 15:50:51 +0000
commitc5ccdfae66f8e3a33bec20a310df134d3e1ab4bf (patch)
treeaf67107d8009259621f872ed9cab59e0805cea62 /src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h
parent138ee2657f03206209ff5c7d6c4392168beef819 (diff)
Compiles run and tests for Alpha_3d, exact, weighted, periodic and weighted periodic
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/alpha_complex_3d_module_vincent@3627 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: e24d7de108d3e77eaf6319a8165a7c65bec57884
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.h30
1 files changed, 29 insertions, 1 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 3b1981ca..32911a84 100644
--- a/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h
+++ b/src/Alpha_complex/include/gudhi/Alpha_complex_3d_options.h
@@ -54,6 +54,11 @@ public:
static const bool weighted = false;
static const bool periodic = false;
+
+ template<class Filtration_value, class Alpha_value_iterator>
+ static Filtration_value value_from_iterator(const Alpha_value_iterator avi){
+ return /*std::sqrt*/ *avi;
+ }
};
class Exact_alpha_shapes_3d {
@@ -72,6 +77,12 @@ public:
static const bool weighted = false;
static const bool periodic = false;
+ static const bool exact = true;
+
+ template<class Filtration_value, class Alpha_value_iterator>
+ static Filtration_value value_from_iterator(const Alpha_value_iterator avi){
+ return /*std::sqrt*/ CGAL::to_double(avi->exact());
+ }
};
class Weighted_alpha_shapes_3d {
@@ -92,6 +103,12 @@ public:
static const bool weighted = true;
static const bool periodic = false;
+ static const bool exact = false;
+
+ template<class Filtration_value, class Alpha_value_iterator>
+ static Filtration_value value_from_iterator(const Alpha_value_iterator avi){
+ return /*std::sqrt*/ *avi;
+ }
};
class Periodic_alpha_shapes_3d {
@@ -117,6 +134,12 @@ public:
static const bool weighted = false;
static const bool periodic = true;
+ static const bool exact = false;
+
+ template<class Filtration_value, class Alpha_value_iterator>
+ static Filtration_value value_from_iterator(const Alpha_value_iterator avi){
+ return /*std::sqrt*/ *avi;
+ }
};
class Weighted_periodic_alpha_shapes_3d {
@@ -136,11 +159,16 @@ public:
using Alpha_shape_3 = CGAL::Alpha_shape_3<Periodic_delaunay_triangulation_3>;
using Point_3 = Periodic_delaunay_triangulation_3::Bare_point;
using Weighted_point_3 = Periodic_delaunay_triangulation_3::Weighted_point;
- using Alpha_value_type = Alpha_shape_3::FT;
using Iso_cuboid_3 = Periodic_kernel::Iso_cuboid_3;
static const bool weighted = true;
static const bool periodic = true;
+ static const bool exact = false;
+
+ template<class Filtration_value, class Alpha_value_iterator>
+ static Filtration_value value_from_iterator(const Alpha_value_iterator avi){
+ return /*std::sqrt*/ *avi;
+ }
};
} // namespace alpha_complex