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.
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.

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.