Regina 7.0 Calculation Engine
|
The default signature type to use for isomorphism signatures. More...
#include <triangulation/isosigtype.h>
Public Member Functions | |
IsoSigClassic (const Component< dim > &comp) | |
Initialises this object to iterate through candidate "starting simplices" s and "starting labellings" p for the given triangulation component. More... | |
size_t | simplex () const |
Returns the current starting simplex s. More... | |
Perm< dim+1 > | perm () const |
Returns the current starting labelling p of the vertices of the current starting simplex. More... | |
bool | next () |
Advances this object to the next candidate pair (s, p). More... | |
IsoSigClassic (const IsoSigClassic &)=delete | |
IsoSigClassic & | operator= (const IsoSigClassic &)=delete |
The default signature type to use for isomorphism signatures.
This signature type is consistent with the original isomorphism signatures that were implemented in Regina 4.90.
A signature type class such as this works with a single component c of a dim-dimenensional triangulation. The sole task of a type class is to iterate through a selection of combinations (s, p), each of which identifies a "starting simplex" and a "starting labelling" of its vertices. Here s is a top-dimensional simplex in c that will act as the "starting simplex", and p is a permutation that maps the vertices of s to the "starting labelling" 0,1,...,dim.
The properties that any signature type must satisfy are:
An instance of a type class is like an iterator: it holds a single candidate combination (s, p). The constructor must initialise the instance to store the first candidate combination; you can then query the current combination by calling simplex() and perm(), and you can advance to the next combination by calling next().
This classic signature type is trivial, in that it considers all possible simplices s and all (dim+1)!
possible permutations p.
This class is designed to be used as a template parameter for Triangulation<dim>::isoSig() and Triangulation<dim>::isoSigDetail(). Typical users would have no need to create objects of this class or call any of its functions directly.
|
inline |
Initialises this object to iterate through candidate "starting simplices" s and "starting labellings" p for the given triangulation component.
See the class notes for details.
This object will initially be set to hold the first candidate pair (s, p).
comp | the triangulation component that we are examining. |
|
inline |
Advances this object to the next candidate pair (s, p).
See the class notes for further details.
false
.true
if this was successful, or false
if there is no next candidate pair (i.e., the current candidate pair is the last).
|
inline |
Returns the current starting labelling p of the vertices of the current starting simplex.
See the class notes for further details.
false
.
|
inline |
Returns the current starting simplex s.
See the class notes for further details.
false
.