#include <ndisc.h>
Public Member Functions | |
NDiscSpec () | |
Creates a new uninitialised disc specifier. | |
NDiscSpec (unsigned long newTetIndex, int newType, unsigned long newNumber) | |
Creates a new disc specifier containing the given values. | |
NDiscSpec (const NDiscSpec &cloneMe) | |
Creates a new disc specifier that is a clone of the given specifier. | |
NDiscSpec & | operator= (const NDiscSpec &cloneMe) |
Copies the values from the given disc specifier into this specifier. | |
bool | operator== (const NDiscSpec &other) const |
Determines if this and the given disc specifier contain identical information. | |
Public Attributes | |
unsigned long | tetIndex |
The index in the triangulation of the tetrahedron containing the disc. | |
int | type |
The disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes. | |
unsigned long | number |
Specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes. | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const NDiscSpec &spec) |
Writes the given disc specifier to the given output stream. |
There are 10 disc types. Types 0-3 represent triangles 0-3, types 4-6 represent quads 0-2 and types 7-9 represent octagons 0-2.
Discs of a specific type are assigned numbers from 0 upwards. Triangular discs are numbered outwards from the vertex they surround. Quad discs and octagonal discs are numbered outwards away from vertex 0 of the tetrahedron.
Note that, unlike NDiscType in which the meaning of NDiscType::type is flexible, the meaning of NDiscSpec::type is fixed as described above.
unsigned long
. See the precondition below.This class should only be used with embedded normal surfaces.
regina::NDiscSpec::NDiscSpec | ( | ) | [inline] |
Creates a new uninitialised disc specifier.
regina::NDiscSpec::NDiscSpec | ( | unsigned long | newTetIndex, | |
int | newType, | |||
unsigned long | newNumber | |||
) | [inline] |
Creates a new disc specifier containing the given values.
newTetIndex | the index in the triangulation of the tetrahedron containing the disc. | |
newType | the disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes. | |
newNumber | specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes. |
regina::NDiscSpec::NDiscSpec | ( | const NDiscSpec & | cloneMe | ) | [inline] |
Creates a new disc specifier that is a clone of the given specifier.
cloneMe | the disc specifier to clone. |
Copies the values from the given disc specifier into this specifier.
cloneMe | the disc specifier whose values should be copied. |
bool regina::NDiscSpec::operator== | ( | const NDiscSpec & | other | ) | const [inline] |
Determines if this and the given disc specifier contain identical information.
other | the disc specifier to compare with this. |
true
if and only if this and the given disc specifier contain identical information.
std::ostream& operator<< | ( | std::ostream & | out, | |
const NDiscSpec & | spec | |||
) | [friend] |
Writes the given disc specifier to the given output stream.
The disc specifier will be written as a triple (tetIndex, type, number)
.
out | the output stream to which to write. | |
spec | the disc specifier to write. |
unsigned long regina::NDiscSpec::number |
Specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes.
unsigned long regina::NDiscSpec::tetIndex |
The index in the triangulation of the tetrahedron containing the disc.
The disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes.