Gudhi::alpha_complex::Alpha_complex< Kernel > Class Template Reference

Alpha complex data structure. More...

Public Types

typedef CGAL::Delaunay_triangulation< Kernel, TDS > Delaunay_triangulation
 A Delaunay triangulation of a set of points in $ \mathbb{R}^D$.
 
typedef Kernel::Point_d Point_d
 A point in Euclidean space.
 
typedef Kernel Geom_traits
 Geometric traits class that provides the geometric types and predicates needed by Delaunay triangulations.
 

Public Member Functions

 Alpha_complex (const std::string &off_file_name)
 Alpha_complex constructor from an OFF file name. More...
 
template<typename InputPointRange >
 Alpha_complex (const InputPointRange &points)
 Alpha_complex constructor from a list of points. More...
 
 ~Alpha_complex ()
 Alpha_complex destructor deletes the Delaunay triangulation.
 
const Point_dget_point (std::size_t vertex) const
 get_point returns the point corresponding to the vertex given as parameter. More...
 
const std::size_t number_of_vertices () const
 number_of_vertices returns the number of vertices (same as the number of points). More...
 
template<typename SimplicialComplexForAlpha , typename Filtration_value >
bool create_complex (SimplicialComplexForAlpha &complex, Filtration_value max_alpha_square)
 Inserts all Delaunay triangulation into the simplicial complex. It also computes the filtration values accordingly to the Create complex algorithm. More...
 

Detailed Description

template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
class Gudhi::alpha_complex::Alpha_complex< Kernel >

Alpha complex data structure.

The data structure is constructing a CGAL Delaunay triangulation (for more informations on CGAL Delaunay triangulation, please refer to the corresponding chapter in page http://doc.cgal.org/latest/Triangulation/) from a range of points or from an OFF file (cf. Points_off_reader).

Please refer to Alpha complex for examples.

The complex is a template class requiring an Epick_d dD Geometry Kernel [18] from CGAL as template, default value is CGAL::Epick_d < CGAL::Dynamic_dimension_tag >

Remarks
When Alpha_complex is constructed with an infinite value of alpha, the complex is a Delaunay complex.
Examples:
Alpha_complex/Alpha_complex_from_off.cpp, Alpha_complex/Alpha_complex_from_points.cpp, Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp, Persistent_cohomology/alpha_complex_persistence.cpp, and Persistent_cohomology/custom_persistence_sort.cpp.

Constructor & Destructor Documentation

template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
Gudhi::alpha_complex::Alpha_complex< Kernel >::Alpha_complex ( const std::string &  off_file_name)
inline

Alpha_complex constructor from an OFF file name.

Uses the Points_off_reader to construct the Delaunay triangulation required to initialize the Alpha_complex.

Duplicate points are inserted once in the Alpha_complex. This is the reason why the vertices may be not contiguous.

Parameters
[in]off_file_nameOFF file [path and] name.
template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
template<typename InputPointRange >
Gudhi::alpha_complex::Alpha_complex< Kernel >::Alpha_complex ( const InputPointRange &  points)
inline

Alpha_complex constructor from a list of points.

Duplicate points are inserted once in the Alpha_complex. This is the reason why the vertices may be not contiguous.

Parameters
[in]pointsRange of points to triangulate. Points must be in Kernel::Point_d

The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Kernel::Point_d.

Member Function Documentation

template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
template<typename SimplicialComplexForAlpha , typename Filtration_value >
bool Gudhi::alpha_complex::Alpha_complex< Kernel >::create_complex ( SimplicialComplexForAlpha complex,
Filtration_value  max_alpha_square 
)
inline

Inserts all Delaunay triangulation into the simplicial complex. It also computes the filtration values accordingly to the Create complex algorithm.

Template Parameters
SimplicialComplexForAlphamust meet SimplicialComplexForAlpha concept.
Parameters
[in]complexSimplicialComplexForAlpha to be created.
[in]max_alpha_squaremaximum for alpha square value. Default value is + $\infty$.
Returns
true if creation succeeds, false otherwise.
Precondition
Delaunay triangulation must be already constructed with dimension strictly greater than 0.
The simplicial complex must be empty (no vertices)

Initialization can be launched once.

template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
const Point_d& Gudhi::alpha_complex::Alpha_complex< Kernel >::get_point ( std::size_t  vertex) const
inline

get_point returns the point corresponding to the vertex given as parameter.

Parameters
[in]vertexVertex handle of the point to retrieve.
Returns
The point found.
Exceptions
std::out_of_rangeIn case vertex is not found (cf. std::vector::at).
template<class Kernel = CGAL::Epick_d<CGAL::Dynamic_dimension_tag>>
const std::size_t Gudhi::alpha_complex::Alpha_complex< Kernel >::number_of_vertices ( ) const
inline

number_of_vertices returns the number of vertices (same as the number of points).

Returns
The number of vertices.

The documentation for this class was generated from the following file:
GUDHI  Version 2.0.0  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. Generated on Wed Apr 19 2017 22:26:16 for GUDHI by doxygen 1.8.11