#include <nisomorphism.h>
Inheritance diagram for regina::NIsomorphismIndexed:
Public Member Functions | |
NIsomorphismIndexed (unsigned newSourceTetrahedra) | |
Creates a new isomorphism with no initialisation. | |
NIsomorphismIndexed (const NIsomorphismIndexed &cloneMe) | |
Creates a new isomorphism identical to the given isomorphism. | |
virtual | ~NIsomorphismIndexed () |
Destroys this isomorphism. | |
virtual NPerm | facePerm (unsigned sourceTet) const |
Determines the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism. | |
int & | facePermIndex (unsigned sourceTet) |
Returns a read-write reference to the index into array allPermsS4 that points to the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism. | |
int | facePermIndex (unsigned sourceTet) const |
Returns the index into the array allPermsS4 that points to the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism. |
It is easy to iterate through possible face permutations, but there is no direct write-access to the permutations themselves.
See the NIsomorphism class notes for further details on the types of isomorphism that can be represented.
regina::NIsomorphismIndexed::NIsomorphismIndexed | ( | unsigned | newSourceTetrahedra | ) | [inline] |
Creates a new isomorphism with no initialisation.
newSourceTetrahedra | the number of tetrahedra in the source triangulation associated with this isomorphism; this may be zero. |
regina::NIsomorphismIndexed::NIsomorphismIndexed | ( | const NIsomorphismIndexed & | cloneMe | ) |
Creates a new isomorphism identical to the given isomorphism.
cloneMe | the isomorphism upon which to base the new isomorphism. |
regina::NIsomorphismIndexed::~NIsomorphismIndexed | ( | ) | [inline, virtual] |
Destroys this isomorphism.
NPerm regina::NIsomorphismIndexed::facePerm | ( | unsigned | sourceTet | ) | const [inline, virtual] |
Determines the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism.
Face i of source tetrahedron sourceTet will be mapped to face facePerm(sourceTet)[i]
of tetrahedron tetImage(sourceTet)
.
sourceTet | the index of the source tetrahedron containing the original four faces; this must be between 0 and getSourceTetrahedra()-1 inclusive. |
Implements regina::NIsomorphism.
int regina::NIsomorphismIndexed::facePermIndex | ( | unsigned | sourceTet | ) | const [inline] |
Returns the index into the array allPermsS4 that points to the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism.
Face i of tetrahedron sourceTet will be mapped to face allPermsS4[facePermIndex(sourceTet)][i]
of tetrahedron tetImage(sourceTet)
.
sourceTet | the index of the source tetrahedron containing the original four faces; this must be between 0 and getSourceTetrahedra()-1 inclusive. |
int & regina::NIsomorphismIndexed::facePermIndex | ( | unsigned | sourceTet | ) | [inline] |
Returns a read-write reference to the index into array allPermsS4 that points to the permutation that is applied to the four faces of the given source tetrahedron under this isomorphism.
Face i of tetrahedron sourceTet will be mapped to face allPermsS4[facePermIndex(sourceTet)][i]
of tetrahedron tetImage(sourceTet)
.
sourceTet | the index of the source tetrahedron containing the original four faces; this must be between 0 and getSourceTetrahedra()-1 inclusive. |