Alpha complex data structure.  
 More...
#include <gudhi/Alpha_complex.h>
 | 
| 
using  | Geom_traits = std::conditional_t< Weighted, CGAL::Regular_triangulation_traits_adapter< Kernel >, Kernel > | 
|   | Geometric traits class that provides the geometric types and predicates needed by the triangulations. 
  | 
|   | 
| 
using  | Triangulation = std::conditional_t< Weighted, CGAL::Regular_triangulation< Kernel, TDS >, CGAL::Delaunay_triangulation< Kernel, TDS > > | 
|   | A (Weighted or not) Delaunay triangulation of a set of points in \( \mathbb{R}^D\). 
  | 
|   | 
| 
using  | A_kernel_d = Alpha_kernel_d< Kernel, Weighted > | 
|   | CGAL kernel container for computations in function of the weighted or not characteristics. 
  | 
|   | 
| 
using  | Sphere = typename A_kernel_d::Sphere | 
|   | Sphere is a std::pair<Kernel::Point_d, Kernel::FT> (aka. circurmcenter and squared radius). If Weighted, Sphere is a Kernel::Weighted_point_d (aka. circurmcenter and the weight value is the squared radius). 
  | 
|   | 
| 
using  | Point_d = typename Geom_traits::Point_d | 
|   | A point, or a weighted point in Euclidean space. 
  | 
|   | 
template<class Kernel = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false>
class Gudhi::alpha_complex::Alpha_complex< Kernel, Weighted >
Alpha complex data structure. 
The data structure is constructing a CGAL Delaunay triangulation (for more information 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 CGAL::Epeck_d, or an CGAL::Epick_d dD Geometry Kernel [44] from CGAL as template, default value is CGAL::Epeck_d < CGAL::Dynamic_dimension_tag  >
- Examples
 - Alpha_complex_from_off.cpp, Alpha_complex_from_points.cpp, Fast_alpha_complex_from_off.cpp, Weighted_alpha_complex_from_points.cpp, alpha_complex_persistence.cpp, alpha_rips_persistence_bottleneck_distance.cpp, and custom_persistence_sort.cpp.
 
 
◆ Alpha_complex() [1/3]
template<class Kernel  = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false> 
 
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_name | OFF file [path and] name.  | 
  
   
 
 
◆ Alpha_complex() [2/3]
template<class Kernel  = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false> 
template<typename InputPointRange > 
 
Alpha_complex constructor from a list of points. 
The vertices may be not contiguous as some points may be discarded in the triangulation (duplicate points, weighted hidden point, ...).
- Parameters
 - 
  
    | [in] | points | Range of points to triangulate. Points must be in Kernel::Point_d or Kernel::Weighted_point_d. | 
  
   
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Kernel::Point_d or Kernel::Weighted_point_d. 
 
 
◆ Alpha_complex() [3/3]
template<class Kernel  = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false> 
template<typename InputPointRange , typename WeightRange > 
 
Alpha_complex constructor from a list of points and weights. 
The vertices may be not contiguous as some points may be discarded in the triangulation (duplicate points, weighted hidden point, ...).
- Parameters
 - 
  
    | [in] | points | Range of points to triangulate. Points must be in Kernel::Point_d. | 
    | [in] | weights | Range of points weights. Weights must be in Kernel::FT. | 
  
   
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Kernel::Point_d. 
 
 
◆ create_complex()
template<class Kernel  = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false> 
 
Inserts all Delaunay triangulation into the simplicial complex. It also computes the filtration values accordingly to the Create complex algorithm if default_filtration_value is not set. 
- Template Parameters
 - 
  
  
 
- Parameters
 - 
  
    | [in] | complex | SimplicialComplexForAlpha to be created.  | 
    | [in] | max_alpha_square | maximum for \( \alpha^2 \) value. Default value is + \(\infty\), and there is very little point using anything else since it does not save time. Useless if default_filtration_value is set to true.  | 
    | [in] | exact | Exact filtration values computation. Not exact if Kernel is not CGAL::Epeck_d.  | 
    | [in] | default_filtration_value | Set this value to true if filtration values are not needed to be computed (will be set to NaN). Default value is false (which means compute the filtration values). | 
  
   
- 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.
- Exceptions
 - 
  
    | std::invalid_argument | In case of a Weighted Alpha complex with `Output_squared_values` set to `false`, as the filtration values of a Weighted Alpha complex results from a power product and not from an euclidean distance. Therefore this template argument should be kept to the default value.  | 
  
   
- Examples
 - Alpha_complex_from_points.cpp, and Weighted_alpha_complex_from_points.cpp.
 
 
 
◆ get_point()
template<class Kernel  = CGAL::Epeck_d<CGAL::Dynamic_dimension_tag>, bool Weighted = false> 
 
get_point returns the point corresponding to the vertex given as parameter. 
- Parameters
 - 
  
    | [in] | vertex | Vertex handle of the point to retrieve.  | 
  
   
- Returns
 - The point found. 
 
- Exceptions
 - 
  
    | std::out_of_range | In case vertex is not found (cf. std::vector::at).  | 
  
   
 
 
The documentation for this class was generated from the following file: