Regina Calculation Engine
|
A lightweight class used to refer to a particular facet of a particular top-dimensional simplex in a dim-dimensional triangulation. More...
#include <triangulation/facetspec.h>
Public Member Functions | |
FacetSpec () | |
Creates a new specifier with no initialisation. More... | |
FacetSpec (int newSimp, int newFacet) | |
Creates a new specifier referring to the given facet of the given simplex. More... | |
FacetSpec (const FacetSpec< dim > &cloneMe)=default | |
Creates a new specifier referring to the same simplex facet as the given specifier. More... | |
bool | isBoundary (size_t nSimplices) const |
Determines if this specifier represents the overall boundary. More... | |
bool | isBeforeStart () const |
Determines if this specifier represents a before-the-start value. More... | |
bool | isPastEnd (size_t nSimplices, bool boundaryAlso) const |
Determines if this specifier represents a past-the-end value. More... | |
void | setFirst () |
Sets this specifier to the first facet of the first simplex. More... | |
void | setBoundary (size_t nSimplices) |
Sets this specifier to the overall boundary. More... | |
void | setBeforeStart () |
Sets this specifier to before-the-start. More... | |
void | setPastEnd (size_t nSimplices) |
Sets this specifier to past-the-end. More... | |
FacetSpec & | operator= (const FacetSpec< dim > &other)=default |
Sets this specifier to the value of the given specifier. More... | |
FacetSpec & | operator++ () |
Increments this specifier. More... | |
FacetSpec | operator++ (int) |
Increments this specifier. More... | |
FacetSpec & | operator-- () |
Decrements this specifier. More... | |
FacetSpec | operator-- (int) |
Decrements this specifier. More... | |
bool | operator== (const FacetSpec< dim > &other) const |
Determines if this and the given specifier are identical. More... | |
bool | operator!= (const FacetSpec< dim > &other) const |
Determines if this and the given specifier are not identical. More... | |
bool | operator< (const FacetSpec< dim > &other) const |
Determines if this is less than the given specifier. More... | |
bool | operator<= (const FacetSpec< dim > &other) const |
Determines if this is less than or equal to the given specifier. More... | |
Public Attributes | |
int | simp |
The simplex referred to. More... | |
int | facet |
The facet of the simplex referred to. More... | |
A lightweight class used to refer to a particular facet of a particular top-dimensional simplex in a dim-dimensional triangulation.
Only the simplex index and the facet number are stored.
Facilities are provided for iterating through simplex facets. With this in mind, it is also possible to represent the overall boundary, a past-the-end value and a before-the-start value.
When iterating through the simplex facets, the facets will be ordered first by simplex index and then by facet number. The overall boundary appears after all other simplex facets.
If there are n simplices, the simplices will be numbered from 0 to n-1 inclusive. The boundary will be represented as simplex n, facet 0. The past-the-end value will be represented as simplex n, facet 1, and the before-the-start value will be represented as simplex -1, facet dim.
dim | the dimension of the underlying triangulation. This must be between 2 and 15 inclusive. |