Alpha complex data structure. More...
#include <gudhi/Alpha_complex.h>
Public Types | |
|
typedef CGAL::Delaunay_triangulation < Kernel, TDS > | Delaunay_triangulation |
A Delaunay triangulation of a set of points in . | |
| 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 Types inherited from Gudhi::Simplex_tree<> | |
| typedef Options::Filtration_value | Filtration_value |
| Type for the value of the filtration function. More... | |
| typedef Options::Simplex_key | Simplex_key |
| Key associated to each simplex. More... | |
| typedef Options::Vertex_handle | Vertex_handle |
| Type for the vertex handle. More... | |
| typedef Dictionary::iterator | Simplex_handle |
| Handle type to a simplex contained in the simplicial complex represented by the simplex tree. | |
| typedef boost::transform_iterator < return_first, Dictionary_it > | Complex_vertex_iterator |
| Iterator over the vertices of the simplicial complex. More... | |
|
typedef boost::iterator_range < Complex_vertex_iterator > | Complex_vertex_range |
| Range over the vertices of the simplicial complex. | |
| typedef Simplex_tree_simplex_vertex_iterator < Simplex_tree > | Simplex_vertex_iterator |
| Iterator over the vertices of a simplex. More... | |
|
typedef boost::iterator_range < Simplex_vertex_iterator > | Simplex_vertex_range |
| Range over the vertices of a simplex. | |
|
typedef std::vector < Simplex_handle > | Cofaces_simplex_range |
| Range over the cofaces of a simplex. | |
| typedef Simplex_tree_boundary_simplex_iterator < Simplex_tree > | Boundary_simplex_iterator |
| Iterator over the simplices of the boundary of a simplex. More... | |
|
typedef boost::iterator_range < Boundary_simplex_iterator > | Boundary_simplex_range |
| Range over the simplices of the boundary of a simplex. | |
| typedef Simplex_tree_complex_simplex_iterator < Simplex_tree > | Complex_simplex_iterator |
| Iterator over the simplices of the simplicial complex. More... | |
|
typedef boost::iterator_range < Complex_simplex_iterator > | Complex_simplex_range |
| Range over the simplices of the simplicial complex. | |
| typedef Simplex_tree_skeleton_simplex_iterator < Simplex_tree > | Skeleton_simplex_iterator |
| Iterator over the simplices of the skeleton of the simplicial complex, for a given dimension. More... | |
|
typedef boost::iterator_range < Skeleton_simplex_iterator > | Skeleton_simplex_range |
| Range over the simplices of the skeleton of the simplicial complex, for a given dimension. | |
|
typedef std::vector < Simplex_handle > | Filtration_simplex_range |
| Range over the simplices of the simplicial complex, ordered by the filtration. | |
| typedef Filtration_simplex_range::const_iterator | Filtration_simplex_iterator |
| Iterator over the simplices of the simplicial complex, ordered by the filtration. More... | |
Public Member Functions | |||
| Alpha_complex (const std::string &off_file_name, Filtration_value max_alpha_square=std::numeric_limits< Filtration_value >::infinity()) | |||
| Alpha_complex constructor from an OFF file name. Uses the Delaunay_triangulation_off_reader to construct the Delaunay triangulation required to initialize the Alpha_complex. More... | |||
| template<typename InputPointRange > | |||
| Alpha_complex (const InputPointRange &points, Filtration_value max_alpha_square=std::numeric_limits< Filtration_value >::infinity()) | |||
| Alpha_complex constructor from a list of points. More... | |||
| ~Alpha_complex () | |||
| Alpha_complex destructor. More... | |||
| Point_d | get_point (Vertex_handle vertex) const | ||
| get_point returns the point corresponding to the vertex given as parameter. More... | |||
Public Member Functions inherited from Gudhi::Simplex_tree<> | |||
| bool | operator== (Simplex_tree &st2) | ||
| Checks if two simplex trees are equal. | |||
| bool | operator!= (Simplex_tree &st2) | ||
| Checks if two simplex trees are different. | |||
| Simplex_handle | simplex (Simplex_key key) const | ||
| Returns the simplex associated to a key. More... | |||
| Filtration_value | filtration () const | ||
| Returns an upper bound of the filtration values of the simplices. | |||
| void | assign_filtration (Simplex_handle sh, Filtration_value fv) | ||
Sets the filtration value of a simplex.
| |||
| Vertex_handle | null_vertex () const | ||
| Returns a Vertex_handle different from all Vertex_handles associated to the vertices of the simplicial complex. | |||
| size_t | num_vertices () const | ||
| Returns the number of vertices in the complex. | |||
| size_t | num_simplices () | ||
| returns the number of simplices in the simplex_tree. | |||
| int | dimension (Simplex_handle sh) | ||
| Returns the dimension of a simplex. More... | |||
| int | dimension () const | ||
| Returns an upper bound on the dimension of the simplicial complex. | |||
| bool | has_children (SimplexHandle sh) const | ||
| Returns true if the node in the simplex tree pointed by sh has children. | |||
| Simplex_handle | find (const InputVertexRange &s) | ||
| Given a range of Vertex_handles, returns the Simplex_handle of the simplex in the simplicial complex containing the corresponding vertices. Return null_simplex() if the simplex is not in the complex. More... | |||
| std::pair< Simplex_handle, bool > | insert_simplex (const InputVertexRange &simplex, Filtration_value filtration=0) | ||
| Insert a simplex, represented by a range of Vertex_handles, in the simplicial complex. More... | |||
| std::pair< Simplex_handle, bool > | insert_simplex_and_subfaces (const InputVertexRange &Nsimplex, Filtration_value filtration=0) | ||
| Insert a N-simplex and all his subfaces, from a N-simplex represented by a range of Vertex_handles, in the simplicial complex. More... | |||
| void | assign_key (Simplex_handle sh, Simplex_key key) | ||
| Assign a value 'key' to the key of the simplex represented by the Simplex_handle 'sh'. | |||
| std::pair< Simplex_handle, Simplex_handle > | endpoints (Simplex_handle sh) | ||
| Siblings * | self_siblings (SimplexHandle sh) | ||
| Siblings * | root () | ||
| void | set_filtration (Filtration_value fil) | ||
| void | set_dimension (int dimension) | ||
| void | initialize_filtration () | ||
| Initializes the filtrations, i.e. sort the simplices according to their order in the filtration and initializes all Simplex_keys. More... | |||
| Cofaces_simplex_range | star_simplex_range (const Simplex_handle simplex) | ||
| Compute the star of a n simplex. More... | |||
| Cofaces_simplex_range | cofaces_simplex_range (const Simplex_handle simplex, int codimension) | ||
| Compute the cofaces of a n simplex. More... | |||
| void | insert_graph (const OneSkeletonGraph &skel_graph) | ||
| Inserts a 1-skeleton in an empty Simplex_tree. More... | |||
| void | expansion (int max_dim) | ||
| Expands the Simplex_tree containing only its one skeleton until dimension max_dim. More... | |||
| void | print_hasse (std::ostream &os) | ||
| Write the hasse diagram of the simplicial complex in os. More... | |||
| bool | make_filtration_non_decreasing () | ||
| Browse the simplex tree to ensure the filtration is not decreasing. The simplex tree is browsed starting from the root until the leaf, and the filtration values are set with their parent value (increased), in case the values are decreasing. More... | |||
| bool | prune_above_filtration (Filtration_value filtration) | ||
| Prune above filtration value given as parameter. More... | |||
| void | remove_maximal_simplex (Simplex_handle sh) | ||
| Remove a maximal simplex. More... | |||
| Complex_vertex_range | complex_vertex_range () | ||
| Returns a range over the vertices of the simplicial complex. The order is increasing according to < on Vertex_handles. | |||
| Complex_simplex_range | complex_simplex_range () | ||
| Returns a range over the simplices of the simplicial complex. More... | |||
| Skeleton_simplex_range | skeleton_simplex_range (int dim) | ||
| Returns a range over the simplices of the dim-skeleton of the simplicial complex. More... | |||
| Filtration_simplex_range const & | filtration_simplex_range (Indexing_tag=Indexing_tag()) | ||
| Returns a range over the simplices of the simplicial complex, in the order of the filtration. More... | |||
| Simplex_vertex_range | simplex_vertex_range (Simplex_handle sh) | ||
| Returns a range over the vertices of a simplex. More... | |||
| Boundary_simplex_range | boundary_simplex_range (SimplexHandle sh) | ||
| Returns a range over the simplices of the boundary of a simplex. More... | |||
| Simplex_tree () | |||
| Constructs an empty simplex tree. | |||
| Simplex_tree (const Simplex_tree &simplex_source) | |||
| User-defined copy constructor reproduces the whole tree structure. | |||
| Simplex_tree (Simplex_tree &&old) | |||
| User-defined move constructor moves the whole tree structure. | |||
| void | rec_copy (Siblings *sib, Siblings *sib_source) | ||
| depth first search, inserts simplices when reaching a leaf. | |||
| ~Simplex_tree () | |||
| Destructor; deallocates the whole tree structure. | |||
Additional Inherited Members | |
Static Public Member Functions inherited from Gudhi::Simplex_tree<> | |
| static Simplex_key | key (Simplex_handle sh) |
| Returns the key associated to a simplex. More... | |
| static Filtration_value | filtration (Simplex_handle sh) |
| Returns the filtration value of a simplex. More... | |
| static Simplex_handle | null_simplex () |
| Returns a Simplex_handle different from all Simplex_handles associated to the simplices in the simplicial complex. More... | |
| static Simplex_key | null_key () |
| Returns a key different for all keys associated to the simplices of the simplicial complex. | |
Alpha complex data structure.
The data structure can be constructed from 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/) 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 [16] from CGAL as template, default value is CGAL::Epick_d < CGAL::Dynamic_dimension_tag >
|
inline |
Alpha_complex constructor from an OFF file name. Uses the Delaunay_triangulation_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.
| [in] | off_file_name | OFF file [path and] name. |
| [in] | max_alpha_square | maximum for alpha square value. Default value is + . |
|
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.
| [in] | points | Range of points to triangulate. Points must be in Kernel::Point_d |
| [in] | max_alpha_square | maximum for alpha square value. Default value is + . |
The type InputPointRange must be a range for which std::begin and std::end return input iterators on a Kernel::Point_d.
|
inline |
Alpha_complex destructor.
|
inline |
get_point returns the point corresponding to the vertex given as parameter.
| [in] | vertex | Vertex handle of the point to retrieve. |
| std::out_of_range | In case vertex is not found (cf. std::vector::at). |
| GUDHI Version 1.3.0 - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding. |
Generated on Fri Apr 15 2016 17:36:21 for GUDHI by
1.8.6
|