Regina Calculation Engine
|
Identifies a single normal or almost normal disc type within a triangulation. More...
#include <surfaces/disctype.h>
Public Member Functions | |
DiscType () | |
Creates a new disc type initialised to NONE. More... | |
DiscType (size_t newTetIndex, int newType) | |
Creates a new disc type initialised with the given values. More... | |
DiscType (const DiscType &cloneMe) | |
Creates a copy of the given disc type. More... | |
DiscType & | operator= (const DiscType &cloneMe) |
Sets this to a copy of the given disc type. More... | |
bool | operator== (const DiscType &compare) const |
Determines if this and the given disc type are identical. More... | |
bool | operator!= (const DiscType &compare) const |
Determines if this and the given disc type are different. More... | |
bool | operator< (const DiscType &compare) const |
Provides an ordering of disc types. More... | |
Public Attributes | |
size_t | tetIndex |
The index within the triangulation of the tetrahedron containing this disc type. More... | |
int | type |
Identifies the disc type within the specified tetrahedron. More... | |
Static Public Attributes | |
static const DiscType | NONE |
Represents a "null" disc type. More... | |
Identifies a single normal or almost normal disc type within a triangulation.
A disc type is identified by a tetrahedron index (the data member tetIndex), and a disc type within that tetrahedron (the data member type). The latter could mean any number of things according to the application at hand. For instance, if we are tracking quad types then type might be an integer between 0 and 2 inclusive, or if we are tracking all normal discs in standard coordinates then type might be an integer between 0 and 6 inclusive. Ultimately, the specific meaning of type is left to the user.
It is however assumed that type will always be non-negative for "meaningful" disc types; this is to ensure that the constant NONE does not clash with any meaningful values.
Note that this class tracks disc types, not discs themselves. To track individual normal discs, see the DiscSpec class instead.