|
template<typename InputPointRange > |
| Alpha_complex_3d (const InputPointRange &points) |
| Alpha_complex constructor from a list of points. More...
|
|
template<typename InputPointRange , typename WeightRange > |
| Alpha_complex_3d (const InputPointRange &points, WeightRange weights) |
| Alpha_complex constructor from a list of points and associated weights. More...
|
|
template<typename InputPointRange > |
| Alpha_complex_3d (const InputPointRange &points, FT x_min, FT y_min, FT z_min, FT x_max, FT y_max, FT z_max) |
| Alpha_complex constructor from a list of points and an iso-cuboid coordinates. More...
|
|
template<typename InputPointRange , typename WeightRange > |
| Alpha_complex_3d (const InputPointRange &points, WeightRange weights, FT x_min, FT y_min, FT z_min, FT x_max, FT y_max, FT z_max) |
| Alpha_complex constructor from a list of points, associated weights and an iso-cuboid coordinates. More...
|
|
template<typename SimplicialComplexForAlpha3d , typename Filtration_value = typename SimplicialComplexForAlpha3d::Filtration_value> |
bool | create_complex (SimplicialComplexForAlpha3d &complex, Filtration_value max_alpha_square=std::numeric_limits< Filtration_value >::infinity()) |
| Inserts all Delaunay triangulation into the simplicial complex. It also computes the filtration values accordingly to the Create complex algorithm. More...
|
|
const Point_3 & | get_point (std::size_t vertex) |
| get_point returns the point corresponding to the vertex given as parameter. More...
|
|
template<complexity Complexity = complexity::SAFE, bool Weighted = false, bool Periodic = false>
class Gudhi::alpha_complex::Alpha_complex_3d< Complexity, Weighted, Periodic >
Alpha complex data structure for 3d specific case.
The data structure is constructing a CGAL 3D Alpha Shapes from a range of points (can be read from an OFF file, cf. Points_off_reader). Duplicate points are inserted once in the Alpha_complex.
- Template Parameters
-
For the weighted version, weights values are explained on CGAL Alpha shapes 3d and Regular triangulation documentation.
For the periodic version, refer to the CGAL’s 3D Periodic Triangulations User Manual for more details. The periodicity is defined by an iso-oriented cuboid with diagonal opposite vertices (x_min, y_min, z_min) and (x_max, y_max, z_max).
Please refer to Alpha complex for examples.
- Examples:
- Alpha_complex/alpha_complex_3d_persistence.cpp, and Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp.
template<complexity Complexity = complexity::SAFE, bool Weighted = false, bool Periodic = false>
template<typename InputPointRange , typename WeightRange >
Alpha_complex constructor from a list of points and associated weights.
- Exceptions
-
std::invalid_argument | In debug mode, if points and weights do not have the same size. |
- Parameters
-
[in] | points | Range of points to triangulate. Points must be in Alpha_complex_3d::Bare_point_3 . |
[in] | weights | Range of weights on points. Weights shall be in double. |
- Precondition
- Available if Alpha_complex_3d is Weighted and not Periodic.
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Alpha_complex_3d::Bare_point_3
. The type WeightRange must be a range for which std::begin and std::end return an input iterator on a double.
template<complexity Complexity = complexity::SAFE, bool Weighted = false, bool Periodic = false>
template<typename InputPointRange >
Alpha_complex constructor from a list of points and an iso-cuboid coordinates.
- Exceptions
-
std::invalid_argument | In debug mode, if the size of the cuboid in every directions is not the same. |
- Parameters
-
[in] | points | Range of points to triangulate. Points must be in Alpha_complex_3d::Point_3 . |
[in] | x_min | Iso-oriented cuboid x_min. |
[in] | y_min | Iso-oriented cuboid y_min. |
[in] | z_min | Iso-oriented cuboid z_min. |
[in] | x_max | Iso-oriented cuboid x_max. |
[in] | y_max | Iso-oriented cuboid y_max. |
[in] | z_max | Iso-oriented cuboid z_max. |
- Precondition
- Available if Alpha_complex_3d is Periodic.
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Alpha_complex_3d::Point_3
.
- Note
- In weighted version, please check weights are greater than zero, and lower than 1/64*cuboid length squared.
template<complexity Complexity = complexity::SAFE, bool Weighted = false, bool Periodic = false>
template<typename InputPointRange , typename WeightRange >
Alpha_complex constructor from a list of points, associated weights and an iso-cuboid coordinates.
- Exceptions
-
std::invalid_argument | In debug mode, if points and weights do not have the same size. |
std::invalid_argument | In debug mode, if the size of the cuboid in every directions is not the same. |
std::invalid_argument | In debug mode, if a weight is negative, zero, or greater than 1/64*cuboid length squared. |
- Parameters
-
[in] | points | Range of points to triangulate. Points must be in Alpha_complex_3d::Bare_point_3 . |
[in] | weights | Range of weights on points. Weights shall be in double. |
[in] | x_min | Iso-oriented cuboid x_min. |
[in] | y_min | Iso-oriented cuboid y_min. |
[in] | z_min | Iso-oriented cuboid z_min. |
[in] | x_max | Iso-oriented cuboid x_max. |
[in] | y_max | Iso-oriented cuboid y_max. |
[in] | z_max | Iso-oriented cuboid z_max. |
- Precondition
- Available if Alpha_complex_3d is Weighted and Periodic.
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Alpha_complex_3d::Bare_point_3
. The type WeightRange must be a range for which std::begin and std::end return an input iterator on a double. The type of x_min, y_min, z_min, x_max, y_max and z_max must be a double.