Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ > Class Template Reference

Data structure to store a cell in a Hasse diagram. More...

Public Member Functions

 Hasse_diagram_cell ()
 
 Hasse_diagram_cell (int dim)
 
 Hasse_diagram_cell (int dim, Filtration_type filt_)
 
 Hasse_diagram_cell (const Cell_range &boundary_, int dim)
 
 Hasse_diagram_cell (const Cell_range &boundary_, const Cell_range &coboundary_, int dim)
 
 Hasse_diagram_cell (const Cell_range &boundary_, const Cell_range &coboundary_, const Additional_information &ai, int dim)
 
 Hasse_diagram_cell (Additional_information ai, int dim)
 
Cell_range & get_boundary ()
 
Cell_range & get_coBoundary ()
 
int & get_dimension ()
 
Additional_information & get_additional_information ()
 
unsigned & get_position ()
 
Filtration_type & get_filtration ()
 
bool deleted ()
 
void remove_deleted_elements_from_boundary_and_coboundary ()
 
std::vector< Hasse_diagram_cell * > get_list_of_boundary_elements ()
 
std::vector< unsigned > get_list_of_positions_of_boundary_elements ()
 
std::string full_signature_of_the_structure ()
 

Friends

std::ostream & operator<< (std::ostream &out, const Hasse_diagram_cell< Incidence_type, Filtration_type, Additional_information > &c)
 

Detailed Description

template<typename Incidence_type_, typename Filtration_type_, typename Additional_information_ = void>
class Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >

Data structure to store a cell in a Hasse diagram.

The use and interfaces of this Hasse diagram cell is limited to the Coxeter triangulation implementation.

This is a data structure to store a cell in a general Hasse diagram data structure. It stores the following information about the cell: References to boundary and coBoundary elements, dimension of a cell and its filtration. It also allow to store any additional information of a type Additional_information which is a template parameter of the class (set by default to void).

The complex is a template class requiring the following parameters: Incidence_type_ - determine the type of incidence coefficients. Use integers in most general case. Filtration_type_ - type of filtration of cells. Additional_information_ (set by default to void) - allows to store any additional information in the cells of Hasse diagrams.

Constructor & Destructor Documentation

◆ Hasse_diagram_cell() [1/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( )
inline

Default constructor.

◆ Hasse_diagram_cell() [2/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( int  dim)
inline

Constructor of a cell of dimension dim.

◆ Hasse_diagram_cell() [3/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( int  dim,
Filtration_type  filt_ 
)
inline

Constructor of a cell of dimension dim.

◆ Hasse_diagram_cell() [4/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( const Cell_range &  boundary_,
int  dim 
)
inline

Constructor of a cell of dimension dim with a given boundary.

◆ Hasse_diagram_cell() [5/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( const Cell_range &  boundary_,
const Cell_range &  coboundary_,
int  dim 
)
inline

Constructor of a cell of dimension dim with a given boundary and coboundary.

◆ Hasse_diagram_cell() [6/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( const Cell_range &  boundary_,
const Cell_range &  coboundary_,
const Additional_information &  ai,
int  dim 
)
inline

Constructor of a cell of dimension dim with a given boundary, coboundary and additional information.

◆ Hasse_diagram_cell() [7/7]

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::Hasse_diagram_cell ( Additional_information  ai,
int  dim 
)
inline

Constructor of a cell of dimension dim having given additional information.

Member Function Documentation

◆ deleted()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
bool Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::deleted ( )
inline

A procedure used to check if the cell is deleted. It is used by the subsequent implementation of Hasse diagram that is absed on lazy delete.

◆ full_signature_of_the_structure()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
std::string Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::full_signature_of_the_structure ( )
inline

Function that display a string being a signature of a structure. Used mainly for debugging purposes.

◆ get_additional_information()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Additional_information& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_additional_information ( )
inline

Procedure to get additional information about the cell.s

◆ get_boundary()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Cell_range& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_boundary ( )
inline

Procedure to get the boundary of a fiven cell. The output format is a vector of pairs of pointers to boundary elements and incidence coefficients.

◆ get_coBoundary()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Cell_range& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_coBoundary ( )
inline

Procedure to get the coboundary of a fiven cell. The output format is a vector of pairs of pointers to coboundary elements and incidence coefficients.

◆ get_dimension()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
int& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_dimension ( )
inline

Procedure to get the dimension of a cell.

◆ get_filtration()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
Filtration_type& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_filtration ( )
inline

Accessing the filtration of the cell.

◆ get_list_of_boundary_elements()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
std::vector<Hasse_diagram_cell*> Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_list_of_boundary_elements ( )
inline

Procedure that return vector of pointers to boundary elements of a given cell.

◆ get_list_of_positions_of_boundary_elements()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
std::vector<unsigned> Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_list_of_positions_of_boundary_elements ( )
inline

Procedure that return vector of positios of boundary elements of a given cell.

◆ get_position()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
unsigned& Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::get_position ( )
inline

Procedure to retrieve the position of the cell in the structure. It is used in the implementation of Hasse diagram and set by it. Note that removal of cell and subsequent call of clean_up_the_structure will change those positions.

◆ remove_deleted_elements_from_boundary_and_coboundary()

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
void Gudhi::Hasse_diagram::Hasse_diagram_cell< Incidence_type_, Filtration_type_, Additional_information_ >::remove_deleted_elements_from_boundary_and_coboundary ( )
inline

Procedure to remove deleted boundary and coboundary elements from the vectors of boundary and coboundary elements of this cell.

Friends And Related Function Documentation

◆ operator<<

template<typename Incidence_type_ , typename Filtration_type_ , typename Additional_information_ = void>
std::ostream& operator<< ( std::ostream &  out,
const Hasse_diagram_cell< Incidence_type, Filtration_type, Additional_information > &  c 
)
friend

Writing to a stream operator.


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