The Original CHomP Software
Classes | Namespaces | Functions
gcomplex.h File Reference

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<class cell , class euclidom >
bool chomp::homology::acyclic (gcomplex< cell, euclidom > &c)
 Checks whether this chain complex is acyclic. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

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.

Author
Pawel Pilarczyk

Definition in file gcomplex.h.