Gudhi::cubical_complex::Bitmap_cubical_complex< T > Class Template Reference

Cubical complex represented as a bitmap. More...

Classes

class  Filtration_simplex_range
 Filtration_simplex_range provides the ranges for Filtration_simplex_iterator. More...
 
class  Skeleton_simplex_range
 Class needed for compatibility with Gudhi. Not useful for other purposes. More...
 

Public Types

typedef std::vector< Simplex_handle >::iterator Boundary_simplex_iterator
 

Public Member Functions

 Bitmap_cubical_complex (const char *perseus_style_file)
 
 Bitmap_cubical_complex (const std::vector< unsigned > &dimensions, const std::vector< Filtration_value > &top_dimensional_cells)
 
 Bitmap_cubical_complex (const std::vector< unsigned > &dimensions, const std::vector< Filtration_value > &top_dimensional_cells, std::vector< bool > directions_in_which_periodic_b_cond_are_to_be_imposed)
 
virtual ~Bitmap_cubical_complex ()
 
std::size_t num_simplices () const
 
std::size_t dimension () const
 
unsigned dimension (Simplex_handle sh) const
 
Filtration_value filtration (Simplex_handle sh)
 
Simplex_key key (Simplex_handle sh) const
 
Simplex_handle simplex (Simplex_key key)
 
void assign_key (Simplex_handle sh, Simplex_key key)
 
void initialize_simplex_associated_to_key ()
 
Boundary_simplex_range boundary_simplex_range (Simplex_handle sh)
 
Filtration_simplex_range filtration_simplex_range ()
 
std::pair< Simplex_handle, Simplex_handle > endpoints (Simplex_handle sh)
 
Skeleton_simplex_range skeleton_simplex_range (unsigned dimension)
 

Static Public Member Functions

static Simplex_handle null_simplex ()
 
static Simplex_key null_key ()
 

Detailed Description

template<typename T>
class Gudhi::cubical_complex::Bitmap_cubical_complex< T >

Cubical complex represented as a bitmap.

This is a Bitmap_cubical_complex class. It joints a functionalities of Bitmap_cubical_complex_base and Bitmap_cubical_complex_periodic_boundary_conditions_base classes into Gudhi persistent homology engine. It is a template class that inherit from its template parameter. The template parameter is supposed to be either Bitmap_cubical_complex_base or Bitmap_cubical_complex_periodic_boundary_conditions_base class.

Examples:
Bitmap_cubical_complex/cubical_complex_persistence.cpp, Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp, and Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp.

Member Typedef Documentation

◆ Boundary_simplex_iterator

template<typename T>
typedef std::vector<Simplex_handle>::iterator Gudhi::cubical_complex::Bitmap_cubical_complex< T >::Boundary_simplex_iterator

Boundary_simplex_range class provides ranges for boundary iterators.

Constructor & Destructor Documentation

◆ Bitmap_cubical_complex() [1/3]

template<typename T>
Gudhi::cubical_complex::Bitmap_cubical_complex< T >::Bitmap_cubical_complex ( const char *  perseus_style_file)
inline

Constructor form a Perseus-style file.

◆ Bitmap_cubical_complex() [2/3]

template<typename T>
Gudhi::cubical_complex::Bitmap_cubical_complex< T >::Bitmap_cubical_complex ( const std::vector< unsigned > &  dimensions,
const std::vector< Filtration_value > &  top_dimensional_cells 
)
inline

Constructor that requires vector of elements of type unsigned, which gives number of top dimensional cells in the following directions and vector of element of a type T with filtration on top dimensional cells.

◆ Bitmap_cubical_complex() [3/3]

template<typename T>
Gudhi::cubical_complex::Bitmap_cubical_complex< T >::Bitmap_cubical_complex ( const std::vector< unsigned > &  dimensions,
const std::vector< Filtration_value > &  top_dimensional_cells,
std::vector< bool >  directions_in_which_periodic_b_cond_are_to_be_imposed 
)
inline

Constructor that requires vector of elements of type unsigned, which gives number of top dimensional cells in the following directions and vector of element of a type Filtration_value with filtration on top dimensional cells. The last parameter of the constructor is a vector of boolean of a length equal to the dimension of cubical complex. If the position i on this vector is true, then we impose periodic boundary conditions in this direction.

◆ ~Bitmap_cubical_complex()

template<typename T>
virtual Gudhi::cubical_complex::Bitmap_cubical_complex< T >::~Bitmap_cubical_complex ( )
inlinevirtual

Destructor of the Bitmap_cubical_complex class.

Member Function Documentation

◆ assign_key()

template<typename T>
void Gudhi::cubical_complex::Bitmap_cubical_complex< T >::assign_key ( Simplex_handle  sh,
Simplex_key  key 
)
inline

Assign key to a cube pointed by the Simplex_handle

◆ boundary_simplex_range()

template<typename T>
Boundary_simplex_range Gudhi::cubical_complex::Bitmap_cubical_complex< T >::boundary_simplex_range ( Simplex_handle  sh)
inline

boundary_simplex_range creates an object of a Boundary_simplex_range class that provides ranges for the Boundary_simplex_iterator.

◆ dimension() [1/2]

template<typename T>
std::size_t Gudhi::cubical_complex::Bitmap_cubical_complex< T >::dimension ( ) const
inline

Returns dimension of the complex.

◆ dimension() [2/2]

template<typename T>
unsigned Gudhi::cubical_complex::Bitmap_cubical_complex< T >::dimension ( Simplex_handle  sh) const
inline

Return dimension of a cell pointed by the Simplex_handle.

◆ endpoints()

template<typename T>
std::pair<Simplex_handle, Simplex_handle> Gudhi::cubical_complex::Bitmap_cubical_complex< T >::endpoints ( Simplex_handle  sh)
inline

Function needed for compatibility with Gudhi. Not useful for other purposes.

◆ filtration()

template<typename T>
Filtration_value Gudhi::cubical_complex::Bitmap_cubical_complex< T >::filtration ( Simplex_handle  sh)
inline

Return the filtration of a cell pointed by the Simplex_handle.

◆ filtration_simplex_range()

template<typename T>
Filtration_simplex_range Gudhi::cubical_complex::Bitmap_cubical_complex< T >::filtration_simplex_range ( )
inline

filtration_simplex_range creates an object of a Filtration_simplex_range class that provides ranges for the Filtration_simplex_iterator.

◆ initialize_simplex_associated_to_key()

template<typename T >
void Gudhi::cubical_complex::Bitmap_cubical_complex< T >::initialize_simplex_associated_to_key ( )

Function called from a constructor. It is needed for Filtration_simplex_iterator to work.

◆ key()

template<typename T>
Simplex_key Gudhi::cubical_complex::Bitmap_cubical_complex< T >::key ( Simplex_handle  sh) const
inline

Return the key of a cube pointed by the Simplex_handle.

◆ null_key()

template<typename T>
static Simplex_key Gudhi::cubical_complex::Bitmap_cubical_complex< T >::null_key ( )
inlinestatic

Return a key which is not a key of any cube in the considered data structure.

◆ null_simplex()

template<typename T>
static Simplex_handle Gudhi::cubical_complex::Bitmap_cubical_complex< T >::null_simplex ( )
inlinestatic

Returns a Simplex_handle to a cube that do not exist in this complex.

◆ num_simplices()

template<typename T>
std::size_t Gudhi::cubical_complex::Bitmap_cubical_complex< T >::num_simplices ( ) const
inline

Returns number of all cubes in the complex.

◆ simplex()

template<typename T>
Simplex_handle Gudhi::cubical_complex::Bitmap_cubical_complex< T >::simplex ( Simplex_key  key)
inline

Return the Simplex_handle given the key of the cube.

◆ skeleton_simplex_range()

template<typename T>
Skeleton_simplex_range Gudhi::cubical_complex::Bitmap_cubical_complex< T >::skeleton_simplex_range ( unsigned  dimension)
inline

Function needed for compatibility with Gudhi. Not useful for other purposes.


The documentation for this class was generated from the following file:
GUDHI  Version 3.4.1  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding.  - Copyright : MIT Generated on Fri Jan 22 2021 09:41:16 for GUDHI by Doxygen 1.8.13