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().
1.7.1