This file contains a definition of a general geometric complex which represents a polyhedron. More...
#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include "chomp/struct/integer.h"
#include "chomp/struct/hashsets.h"
#include "chomp/homology/chains.h"
#include "chomp/homology/gcomplex.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
Go to the source code of this file.
Classes | |
class | chomp::homology::gcomplex< cell, euclidom > |
The class that defines a geometric complex - a set of cells (cubes, simplices, etc). More... | |
class | chomp::homology::mvcellmap< cell, euclidom, element > |
This class represents a multivalued map whose domain is a geometric complex. More... | |
Namespaces | |
namespace | chomp |
This namespace contains the entire CHomP library interface. | |
namespace | chomp::homology |
This namespace contains the core of the homology computation procedures and related classes and templates contained in the CHomP C++ library. | |
Functions | |
template<class cell > | |
int | chomp::homology::boundarycoef (const cell &, int i) |
template<class cell > | |
int | chomp::homology::boundarylength (const cell &) |
template<class cell > | |
cell | chomp::homology::boundarycell (const cell &, int i) |
template<class element > | |
int_t | chomp::homology::findelem (const multitable< element > &tab, const element &e, int_t len) |
Finds the given element in the table of given length. | |
template<class cell , class euclidom > | |
chaincomplex< euclidom > & | chomp::homology::createchaincomplex (chaincomplex< euclidom > &c, const gcomplex< cell, euclidom > &g, bool quiet=false) |
Creates an algebraic chain complex based on the data from the given geometric cell complex. | |
template<class cell , class euclidom > | |
std::ostream & | chomp::homology::writechaincomplex (std::ostream &out, const gcomplex< cell, euclidom > &g, bool symbolicnames=false, bool quiet=false) |
Writes out a chain complex of the geometric cell complex. | |
template<class cell , class euclidom > | |
chaincomplex< euclidom > & | chomp::homology::createchaincomplex (chaincomplex< euclidom > &c, const gcomplex< cell, euclidom > &g, const gcomplex< cell, euclidom > &rel, bool quiet=false) |
Creates a relative algebraic chain complex with the data from the given pair of geometric cell complexes. | |
template<class cell , class euclidom > | |
std::ostream & | chomp::homology::writegenerators (std::ostream &out, const chain< euclidom > *hom, const chaincomplex< euclidom > &c, const gcomplex< cell, euclidom > &g, const int *level=NULL) |
Writes the homology generators of the geometric complex to a file. | |
template<class cell , class euclidom > | |
gcomplex< cell, euclidom > & | chomp::homology::creategraph (const mvmap< cell, cell > &m, gcomplex< cell, euclidom > &graph) |
Add a graph of a multivalued cell map to the cell complex. | |
template<class cell , class euclidom > | |
bool | chomp::homology::acyclic (gcomplex< cell, euclidom > &c) |
Checks whether this chain complex is acyclic. | |
template<class cell , class euclidom > | |
std::ostream & | chomp::homology::operator<< (std::ostream &out, const gcomplex< cell, euclidom > &c) |
Writes a geometric complex to the output stream in the text format. | |
template<class cell , class euclidom > | |
std::istream & | chomp::homology::operator>> (std::istream &in, gcomplex< cell, euclidom > &c) |
Reads a geometric complex from an input stream in the text format. | |
template<class cell , class euclidom , class element > | |
void | chomp::homology::creategraph (const mvcellmap< cell, euclidom, element > &m, gcomplex< cell, euclidom > &c, bool addbd) |
Creates the full graph of a map as a cellular complex. | |
template<class cell , class euclidom , class element > | |
void | chomp::homology::creategraph (const mvcellmap< cell, euclidom, element > &m, const gcomplex< cell, euclidom > &rel, gcomplex< cell, euclidom > &c, bool addbd) |
Creates the full graph of a map as a cellular complex. | |
template<class cell , class euclidom , class element > | |
void | chomp::homology::createcellmap (const mvcellmap< cell, euclidom, element > &m, mvcellmap< cell, euclidom, cell > &cm) |
Creates the graph of the map as a cell complex while reducing as possible. | |
template<class cell , class euclidom , class element > | |
bool | chomp::homology::createcellmap (const mvcellmap< cell, euclidom, element > &m, const mvcellmap< cell, euclidom, element > &rel, mvcellmap< cell, euclidom, cell > &cm, bool verifyacyclicity) |
Creates the graph of the map as a cell complex while reducing as possible. | |
template<class cell , class euclidom , class element > | |
std::ostream & | chomp::homology::operator<< (std::ostream &out, const mvcellmap< cell, euclidom, element > &m) |
Writes a multivalued cellular map to the output stream. |
This file contains a definition of a general geometric complex which represents a polyhedron.
It can be either a cubical complex, a simplicial complex, or a general CW-complex. Several procedures related to the homology computation are also implemented.
Definition in file gcomplex.h.