This class represents a multivalued map whose domain is a geometric complex. More...
#include <gcomplex.h>
Public Member Functions | |
mvcellmap (gcomplex< cell, euclidom > *_g=0) | |
The constructor of a map with its domain. | |
mvcellmap (gcomplex< cell, euclidom > &_g) | |
The constructor of a map with its domain. | |
mvcellmap (const mvcellmap< cell, euclidom, element > &m) | |
The copy constructor. | |
mvcellmap & | operator= (const mvcellmap< cell, euclidom, element > &m) |
The assignment operator. | |
~mvcellmap () | |
The destructor. | |
int | dim () const |
Returns the dimension of the domain of the map. | |
const hashedset< cell > & | get (int d) const |
Returns the given level of the geometric complex. | |
const gcomplex< cell, euclidom > & | getdomain () const |
Returns a reference of the domain cell complex of the map. | |
const hashedset< element > & | operator() (const cell &c) const |
Returns the image of a given cell. | |
void | add (int d, const cell &c, const hashedset< element > &set) |
Adds a set to the image of a given cell, provided the dimension of the cell is known. | |
void | add (const cell &c, const hashedset< element > &set) |
Adds a set to the image of a given cell. | |
void | add (int d, int_t n, const hashedset< element > &set) |
Adds a set to the image of a given cell, provided the dimension and number of the cell is known. | |
void | add (int d, const cell &c, const element &e) |
Adds an element to the image of a given cell, provided the dimension of the cell is known. | |
void | add (const cell &c, const element &e) |
Adds an element to the image of a given cell. | |
void | add (int d, int_t n, const element &e) |
Adds an element to the image of a given cell, provided the dimension and number of the cell is known. | |
Private Attributes | |
gcomplex< cell, euclidom > * | g |
A pointer to the domain of the map. | |
multitable< hashedset< element > > * | images |
The array of images of the elements of each dimension. | |
int | dimension |
The dimension of the domain of the map. |
This class represents a multivalued map whose domain is a geometric complex.
Definition at line 1530 of file gcomplex.h.
chomp::homology::mvcellmap< cell, euclidom, element >::mvcellmap | ( | gcomplex< cell, euclidom > * | _g = 0 |
) | [inline] |
The constructor of a map with its domain.
The domain of the map must exist during the existence of the map and its dimension must not increase.
Definition at line 1603 of file gcomplex.h.
chomp::homology::mvcellmap< cell, euclidom, element >::mvcellmap | ( | gcomplex< cell, euclidom > & | _g | ) | [inline] |
The constructor of a map with its domain.
The domain of the map must exist during the existence of the map and its dimension must not increase.
Definition at line 1621 of file gcomplex.h.
chomp::homology::mvcellmap< cell, euclidom, element >::mvcellmap | ( | const mvcellmap< cell, euclidom, element > & | m | ) |
The copy constructor.
Definition at line 1639 of file gcomplex.h.
{ g = m. g; if (!g || (g -> dim () < 0)) { images = NULL; dimension = -1; return; } dimension = g -> dim (); images = new multitable <hashedset<element> > [dimension + 1]; if (!images) throw "Unable to construct a copy of a multivalued " "cellular map."; for (int i = 0; i < dimension + 1; ++ i) images [i] = m. images [i]; return; } /* mvcellmap<cell,euclidom,element>::mvcellmap */
chomp::homology::mvcellmap< cell, euclidom, element >::~mvcellmap | ( | ) | [inline] |
The destructor.
Definition at line 1680 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::images.
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | int | d, | |
const cell & | c, | |||
const hashedset< element > & | set | |||
) | [inline] |
Adds a set to the image of a given cell, provided the dimension of the cell is known.
Definition at line 1722 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::dimension, chomp::homology::mvcellmap< cell, euclidom, element >::g, and chomp::homology::mvcellmap< cell, euclidom, element >::images.
Referenced by chomp::homology::mvcellmap< cell, euclidom, element >::add().
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | int | d, | |
int_t | n, | |||
const element & | e | |||
) | [inline] |
Adds an element to the image of a given cell, provided the dimension and number of the cell is known.
Definition at line 1774 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::add(), chomp::homology::mvcellmap< cell, euclidom, element >::dimension, and chomp::homology::mvcellmap< cell, euclidom, element >::images.
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | int | d, | |
int_t | n, | |||
const hashedset< element > & | set | |||
) | [inline] |
Adds a set to the image of a given cell, provided the dimension and number of the cell is known.
Definition at line 1743 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::add(), chomp::homology::mvcellmap< cell, euclidom, element >::dimension, and chomp::homology::mvcellmap< cell, euclidom, element >::images.
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | int | d, | |
const cell & | c, | |||
const element & | e | |||
) | [inline] |
Adds an element to the image of a given cell, provided the dimension of the cell is known.
Definition at line 1753 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::add(), chomp::homology::mvcellmap< cell, euclidom, element >::dimension, chomp::homology::mvcellmap< cell, euclidom, element >::g, and chomp::homology::mvcellmap< cell, euclidom, element >::images.
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | const cell & | c, | |
const element & | e | |||
) | [inline] |
Adds an element to the image of a given cell.
Definition at line 1766 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::add(), and chomp::homology::mvcellmap< cell, euclidom, element >::dim().
void chomp::homology::mvcellmap< cell, euclidom, element >::add | ( | const cell & | c, | |
const hashedset< element > & | set | |||
) | [inline] |
Adds a set to the image of a given cell.
Definition at line 1735 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::add(), and chomp::homology::mvcellmap< cell, euclidom, element >::dim().
int chomp::homology::mvcellmap< cell, euclidom, element >::dim | ( | ) | const |
Returns the dimension of the domain of the map.
Definition at line 1688 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::dimension.
Referenced by chomp::homology::mvcellmap< cell, euclidom, element >::add().
{ return dimension; } /* mvcellmap<cell,euclidom,element>::dim */
const hashedset< cell > & chomp::homology::mvcellmap< cell, euclidom, element >::get | ( | int | d | ) | const |
Returns the given level of the geometric complex.
Definition at line 1694 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::dimension, and chomp::homology::mvcellmap< cell, euclidom, element >::g.
const gcomplex< cell, euclidom > & chomp::homology::mvcellmap< cell, euclidom, element >::getdomain | ( | ) | const |
Returns a reference of the domain cell complex of the map.
Definition at line 1702 of file gcomplex.h.
References chomp::homology::mvcellmap< cell, euclidom, element >::g.
{ return *g; } /* mvcellmap<cell,euclidom,element>::getdomain */
const hashedset< element > & chomp::homology::mvcellmap< cell, euclidom, element >::operator() | ( | const cell & | c | ) | const |
Returns the image of a given cell.
Definition at line 1710 of file gcomplex.h.
mvcellmap< cell, euclidom, element > & chomp::homology::mvcellmap< cell, euclidom, element >::operator= | ( | const mvcellmap< cell, euclidom, element > & | m | ) |
The assignment operator.
Definition at line 1660 of file gcomplex.h.
{ if (images) delete [] images; g = m. g; dimension = m. dimension; if (!g || (dimension < 0)) { images = NULL; return *this; } images = new multitable <hashedset<element> > [dimension + 1]; if (!images) throw "Cannot copy a multivalued cellular map."; for (int i = 0; i < dimension + 1; ++ i) images [i] = m. images [i]; return *this; } /* mvcellmap<cell,euclidom,element>::operator = */
int chomp::homology::mvcellmap< cell, euclidom, element >::dimension [private] |
The dimension of the domain of the map.
Definition at line 1595 of file gcomplex.h.
Referenced by chomp::homology::mvcellmap< cell, euclidom, element >::add(), chomp::homology::mvcellmap< cell, euclidom, element >::dim(), and chomp::homology::mvcellmap< cell, euclidom, element >::get().
gcomplex<cell,euclidom>* chomp::homology::mvcellmap< cell, euclidom, element >::g [private] |
A pointer to the domain of the map.
Definition at line 1589 of file gcomplex.h.
Referenced by chomp::homology::mvcellmap< cell, euclidom, element >::add(), chomp::homology::mvcellmap< cell, euclidom, element >::get(), and chomp::homology::mvcellmap< cell, euclidom, element >::getdomain().
multitable<hashedset<element> >* chomp::homology::mvcellmap< cell, euclidom, element >::images [private] |
The array of images of the elements of each dimension.
Definition at line 1592 of file gcomplex.h.
Referenced by chomp::homology::mvcellmap< cell, euclidom, element >::add(), and chomp::homology::mvcellmap< cell, euclidom, element >::~mvcellmap().