The Original CHomP Software
|
This class defines cubical cell in R^n with edges parallel to the axes and with size 0 or 1 in each direction. More...
#include <cellbase.h>
Public Types | |
enum | OutputBitValues { BitProduct = 0x01 , BitSpace = 0x02 } |
Bit masks that define how to output the cell. More... | |
typedef coordtype | CoordType |
The type of the coordinates. More... | |
typedef tCubeBase< coordtype >::PointBase | PointBase |
The point base (for wrapping and tabulating coordinates). More... | |
Public Member Functions | |
tCellBase () | |
The constructor of an empty cubical cell. More... | |
tCellBase (const coordtype *c1, const coordtype *c2, int spcdim, int celldim=-1) | |
The constructor of a cell spanning from one point to another. More... | |
tCellBase (const tCubeBase< coordtype > &q1, const tCubeBase< coordtype > &q2) | |
The constructor of a cell as an intersection of two full cubes. More... | |
tCellBase (const tCubeBase< coordtype > &q, int facedim) | |
The constructor of an arbitrary k-dimensional face of a full cube. More... | |
tCellBase (const tCubeBase< coordtype > &q) | |
The constructor of a full-dimensional cubical cell. More... | |
tCellBase (const tCellBase< coordtype > &q, int offset, int ncoords) | |
The constructor of a projection of a cell to the given number of coordinates that start at the given offset. More... | |
tCellBase (const tCellBase< coordtype > &c) | |
The copy constructor. More... | |
tCellBase< coordtype > & | operator= (const tCellBase< coordtype > &c) |
The assignment operator. More... | |
int | dim () const |
Returns the dimension of the cubical cell. More... | |
int | spacedim () const |
Returns the dimension of the embedding space. More... | |
coordtype * | leftcoord (coordtype *c) const |
Fills in the given table with the left corner coordinates. More... | |
coordtype * | rightcoord (coordtype *c) const |
Fills in the given table with the right corner coordinates. More... | |
int_t | hashkey1 () const |
Returns hashing key no. 1 required by the hashing set template. More... | |
int_t | hashkey2 () const |
Return shashing key no. 2 required by the hashing set template. More... | |
Static Public Member Functions | |
static const char * | name () |
Returns the name of the objects represented by this class. More... | |
static const char * | pluralname () |
Returns the plural name of the objects represented by this class. More... | |
Static Public Attributes | |
static const int | MaxDim = tCubeBase<coordtype>::MaxDim |
The maximal dimension of a cell. More... | |
static const int | MaxSpaceDim = tCubeBase<coordtype>::MaxDim |
The maximal dimension of the embedding space of a cell. More... | |
static int | OutputBits = 0 |
The output bits which determine how a cell is written. More... | |
Private Member Functions | |
int_t | num1 () const |
Returns the first number of the cubical cell vertices. More... | |
int_t | num2 () const |
Returns the second number of the cubical cell vertices. More... | |
void | initialize (const coordtype *c1, const coordtype *c2, int spcdim, int celldim=-1) |
Initializes a new cell given its two corners. More... | |
Private Attributes | |
int_t | n1 |
The left vertex: high 6 bits = space dim, the remaining bits form the number of the point in an appropriate pointset. More... | |
int_t | n2 |
The right vertex: high 6 bits = cube dim, the remaining bits form the number of the point in an appropriate pointset. More... | |
Friends | |
int | operator== (const tCellBase< coordtype > &c1, const tCellBase< coordtype > &c2) |
Verifies if two cells are identical. More... | |
This class defines cubical cell in R^n with edges parallel to the axes and with size 0 or 1 in each direction.
This implementation uses a PointBase class to index all the vertices of cells which appear in the program.
Definition at line 68 of file cellbase.h.
typedef coordtype chomp::homology::tCellBase< coordtype >::CoordType |
The type of the coordinates.
Definition at line 72 of file cellbase.h.
typedef tCubeBase<coordtype>::PointBase chomp::homology::tCellBase< coordtype >::PointBase |
The point base (for wrapping and tabulating coordinates).
Definition at line 81 of file cellbase.h.
enum chomp::homology::tCellBase::OutputBitValues |
Bit masks that define how to output the cell.
If 'BitProduct' is set, then the cell is displayed as a Cartesian product of intervals. Otherwise, it is indicated by two opposite vertices. If 'BitSpace' is set, the space is inserted in the output.
Enumerator | |
---|---|
BitProduct | |
BitSpace |
Definition at line 140 of file cellbase.h.
|
inline |
The constructor of an empty cubical cell.
Definition at line 240 of file cellbase.h.
|
inline |
The constructor of a cell spanning from one point to another.
Definition at line 247 of file cellbase.h.
|
inline |
The constructor of a cell as an intersection of two full cubes.
Definition at line 255 of file cellbase.h.
References chomp::homology::CommonCell(), and chomp::homology::tPointBase< coordtype >::getwrapping().
|
inline |
The constructor of an arbitrary k-dimensional face of a full cube.
Definition at line 284 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), chomp::homology::tCellBase< coordtype >::MaxDim, chomp::homology::tCellBase< coordtype >::n1, chomp::homology::tCellBase< coordtype >::n2, chomp::homology::tCellBase< coordtype >::num1(), chomp::homology::tPointBase< coordtype >::number(), and chomp::homology::NumBits.
|
inlineexplicit |
The constructor of a full-dimensional cubical cell.
Definition at line 308 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), chomp::homology::tCellBase< coordtype >::MaxDim, chomp::homology::tCellBase< coordtype >::n1, chomp::homology::tCellBase< coordtype >::n2, chomp::homology::tCellBase< coordtype >::num1(), chomp::homology::tPointBase< coordtype >::number(), and chomp::homology::NumBits.
|
inline |
The constructor of a projection of a cell to the given number of coordinates that start at the given offset.
Definition at line 325 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), chomp::homology::NumBits, and chomp::homology::NumMask.
|
inline |
|
inline |
Returns the dimension of the cubical cell.
Definition at line 354 of file cellbase.h.
References chomp::homology::NumBits.
|
inline |
Returns hashing key no. 1 required by the hashing set template.
Definition at line 386 of file cellbase.h.
|
inline |
Return shashing key no. 2 required by the hashing set template.
Definition at line 399 of file cellbase.h.
|
inlineprivate |
Initializes a new cell given its two corners.
Definition at line 199 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), chomp::homology::tPointBase< coordtype >::number(), and chomp::homology::NumBits.
|
inline |
Fills in the given table with the left corner coordinates.
Definition at line 366 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), and chomp::homology::copycoord().
|
static |
Returns the name of the objects represented by this class.
Definition at line 412 of file cellbase.h.
|
inlineprivate |
Returns the first number of the cubical cell vertices.
Definition at line 187 of file cellbase.h.
References chomp::homology::NumMask.
Referenced by chomp::homology::tCellBase< coordtype >::tCellBase().
|
inlineprivate |
Returns the second number of the cubical cell vertices.
Definition at line 193 of file cellbase.h.
References chomp::homology::NumMask.
|
inline |
|
static |
Returns the plural name of the objects represented by this class.
Definition at line 418 of file cellbase.h.
|
inline |
Fills in the given table with the right corner coordinates.
Definition at line 376 of file cellbase.h.
References chomp::homology::tPointBase< coordtype >::coord(), and chomp::homology::copycoord().
|
inline |
Returns the dimension of the embedding space.
Definition at line 360 of file cellbase.h.
References chomp::homology::NumBits.
|
static |
The maximal dimension of a cell.
Definition at line 75 of file cellbase.h.
Referenced by chomp::homology::tCellBase< coordtype >::tCellBase().
|
static |
The maximal dimension of the embedding space of a cell.
Definition at line 78 of file cellbase.h.
|
private |
The left vertex: high 6 bits = space dim, the remaining bits form the number of the point in an appropriate pointset.
Definition at line 167 of file cellbase.h.
Referenced by chomp::homology::tCellBase< coordtype >::tCellBase().
|
private |
The right vertex: high 6 bits = cube dim, the remaining bits form the number of the point in an appropriate pointset.
Definition at line 171 of file cellbase.h.
Referenced by chomp::homology::tCellBase< coordtype >::tCellBase().
|
static |
The output bits which determine how a cell is written.
Definition at line 147 of file cellbase.h.