Loading...
Searching...
No Matches
Gudhi::Toplex_map Class Reference
Toplex Map

Toplex map data structure for representing unfiltered simplicial complexes. More...

`#include <include/gudhi/Toplex_map.h>`

## Public Types

using | Vertex = std::size_t
using | Simplex = std::set<Vertex>
using | Simplex_ptr = std::shared_ptr<Toplex_map::Simplex>
using | Simplex_ptr_set = std::unordered_set<Toplex_map::Simplex_ptr, Sptr_hash, Sptr_equal>

## Public Member Functions

template<typename Input_vertex_range>
void | 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) const
template<typename Input_vertex_range>
bool | maximality (const Input_vertex_range &vertex_range) const
template<typename Input_vertex_range>
Toplex_map::Simplex_ptr_set | maximal_cofaces (const Input_vertex_range &vertex_range, const std::size_t max_number=0) const
Toplex_map::Simplex_ptr_set | maximal_simplices (const std::size_t max_number=0) const
Vertex | contraction (const Vertex x, const Vertex y)
void | remove_vertex (const Vertex x)
std::size_t | num_maximal_simplices () const
| Number of maximal simplices.
std::size_t | num_vertices () const
| Number of vertices.
template<typename Input_vertex_range>
void | insert_independent_simplex (const Input_vertex_range &vertex_range)

## Detailed Description

Toplex map data structure for representing unfiltered simplicial complexes.

A Toplex_map is an unordered map from vertices to maximal simplices (aka. toplices).

Examples
  simple_toplex_map.cpp.

## Member Typedef Documentation

## Simplex

using Gudhi::Toplex_map::Simplex = std::set<Vertex>

Simplex is the type of simplices.

Examples
  simple_toplex_map.cpp.

## Simplex_ptr

using Gudhi::Toplex_map::Simplex_ptr = std::shared_ptr<Toplex_map::Simplex>

The type of the pointers to maximal simplices.

## Simplex_ptr_set

using Gudhi::Toplex_map::Simplex_ptr_set = std::unordered_set<Toplex_map::Simplex_ptr, Sptr_hash, Sptr_equal>

The type of the sets of Toplex_map::Simplex_ptr.

## Vertex

using Gudhi::Toplex_map::Vertex = std::size_t

Vertex is the type of vertices.

Examples
  simple_toplex_map.cpp.

## Member Function Documentation

## contraction()

Toplex_map::Vertex Gudhi::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.

Examples
  simple_toplex_map.cpp.

## insert_independent_simplex()

template<typename Input_vertex_range>

void Gudhi::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.

## maximal_cofaces()

template<typename Input_vertex_range>

Toplex_map::Simplex_ptr_set Gudhi::Toplex_map::maximal_cofaces | ( | const Input_vertex_range & | vertex_range,
|  | const std::size_t | max_number = 0 ) const

Gives a set of pointers to the maximal cofaces of a simplex. Gives all the toplices if given the empty simplex. Gives not more than max_number maximal cofaces if max_number is strictly positive.

Examples
  simple_toplex_map.cpp.

## maximal_simplices()

Toplex_map::Simplex_ptr_set Gudhi::Toplex_map::maximal_simplices | ( | const std::size_t | max_number = 0 | ) | const

inline

Gives a set of pointers to the maximal simplices. Gives not more than max_number maximal cofaces if max_number is strictly positive.

Examples
  simple_toplex_map.cpp.

## maximality()

template<typename Input_vertex_range>

bool Gudhi::Toplex_map::maximality | ( | const Input_vertex_range & | vertex_range | ) | const

Does a simplex is a toplex ?

## membership()

template<typename Input_vertex_range>

bool Gudhi::Toplex_map::membership | ( | const Input_vertex_range & | vertex_range | ) | const

Does a simplex belong to the complex ?

Examples
  simple_toplex_map.cpp.

## remove_vertex()

void Gudhi::Toplex_map::remove_vertex | ( | const Vertex | x | ) |

Remove the vertex and all its cofaces from the complex.

Examples
  simple_toplex_map.cpp.

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

- include/gudhi/Toplex_map.h