| Regina 7.4 Calculation Engine
    | 
Specifies a single normal disc in a normal surface. More...
#include <surface/disc.h>
| Public Member Functions | |
| DiscSpec ()=default | |
| Creates a new uninitialised disc specifier. | |
| DiscSpec (size_t newTetIndex, int newType, unsigned long newNumber) | |
| Creates a new disc specifier containing the given values. | |
| DiscSpec (const DiscSpec &)=default | |
| Creates a new disc specifier that is a clone of the given specifier. | |
| DiscSpec & | operator= (const DiscSpec &)=default | 
| Copies the values from the given disc specifier into this specifier. | |
| bool | operator== (const DiscSpec &) const =default | 
| Determines if this and the given disc specifier contain identical information. | |
| Public Attributes | |
| size_t | 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 DiscSpec 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 DiscSpec class notes. | |
| Friends | |
| std::ostream & | operator<< (std::ostream &out, const DiscSpec &spec) | 
| Writes the given disc specifier to the given output stream. | |
Specifies a single normal disc in a normal surface.
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 DiscType in which the meaning of DiscType::type is flexible, the meaning of DiscSpec::type is fixed as described above.
These objects are small enough to pass by value and swap with std::swap(), with no need for any specialised move operations or swap functions.
unsigned long. See the precondition below.| 
 | default | 
Creates a new uninitialised disc specifier.
| 
 | 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 DiscSpec 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 DiscSpec class notes. | 
| 
 | default | 
Creates a new disc specifier that is a clone of the given specifier.
Copies the values from the given disc specifier into this specifier.
| 
 | default | 
Determines if this and the given disc specifier contain identical information.
true if and only if this and the given disc specifier contain identical information. | 
 | 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::DiscSpec::number | 
Specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the DiscSpec class notes.
| size_t regina::DiscSpec::tetIndex | 
The index in the triangulation of the tetrahedron containing the disc.
| int regina::DiscSpec::type | 
The disc type; this is between 0 and 9 inclusive, as described in the DiscSpec class notes.