Gudhi::Lazy_toplex_map Class Reference

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.
 

Detailed Description

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.

Member Typedef Documentation

◆ Simplex

Simplex is the type of simplices.

◆ Simplex_ptr

The type of the pointers to maximal simplices.

◆ Simplex_ptr_set

The type of the sets of Simplex_ptr.

◆ Vertex

Vertex is the type of vertices.

Member Function Documentation

◆ all_facets_inside()

template<typename Input_vertex_range >
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 ?

◆ contraction()

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.

◆ insert_independent_simplex()

template<typename Input_vertex_range >
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.

◆ membership()

template<typename Input_vertex_range >
bool Gudhi::Lazy_toplex_map::membership ( const Input_vertex_range &  vertex_range)

Does a simplex belong to the complex ?


The documentation for this class was generated from the following file: