Lazy toplex map data structure for representing unfiltered simplicial complexes. More...
Public Types | |
using | Vertex = Toplex_map::Vertex |
using | Simplex = Toplex_map::Simplex |
using | Simplex_ptr = Toplex_map::Simplex_ptr |
using | Simplex_ptr_set = Toplex_map::Simplex_ptr_set |
Public Member Functions | |
template<typename Input_vertex_range > | |
void | insert_independent_simplex (const Input_vertex_range &vertex_range) |
template<typename Input_vertex_range > | |
bool | insert_simplex (const Input_vertex_range &vertex_range) |
Adds the given simplex to the complex. Nothing happens if the simplex is already in the complex (i.e. it is a face of one of the toplices). | |
template<typename Input_vertex_range > | |
void | remove_simplex (const Input_vertex_range &vertex_range) |
Removes the given simplex and its cofaces from the complex. Its faces are kept inside. | |
template<typename Input_vertex_range > | |
bool | membership (const Input_vertex_range &vertex_range) |
template<typename Input_vertex_range > | |
bool | all_facets_inside (const Input_vertex_range &vertex_range) |
Vertex | contraction (const Vertex x, const Vertex y) |
std::size_t | num_maximal_simplices () const |
Number of maximal simplices. | |
std::size_t | num_vertices () const |
Number of vertices. | |
Lazy toplex map data structure for representing unfiltered simplicial complexes.
A Toplex_map is an unordered map from vertices to maximal simplices (aka. toplices). The lazy version is not always up to date as it requires clean operation in order to be.
Simplex is the type of simplices.
The type of the pointers to maximal simplices.
The type of the sets of Simplex_ptr.
Vertex is the type of vertices.
bool Gudhi::Lazy_toplex_map::all_facets_inside | ( | const Input_vertex_range & | vertex_range | ) |
Do all the facets of a simplex belong to the complex ?
Lazy_toplex_map::Vertex Gudhi::Lazy_toplex_map::contraction | ( | const Vertex | x, |
const Vertex | y | ||
) |
Contracts one edge in the complex. The edge has to verify the link condition if you want to preserve topology. Returns the remaining vertex.
void Gudhi::Lazy_toplex_map::insert_independent_simplex | ( | const Input_vertex_range & | vertex_range | ) |
Adds the given simplex to the complex. The simplex must not be in the complex already, and it must not contain one of the current toplices.
bool Gudhi::Lazy_toplex_map::membership | ( | const Input_vertex_range & | vertex_range | ) |
Does a simplex belong to the complex ?