Classes | |
class | regina::NSnapPeaTriangulation |
Offers direct access to the SnapPea kernel from within Regina. More... | |
class | regina::NBoundaryComponent |
Represents a component of the boundary of a triangulation. More... | |
class | regina::NComponent |
Represents a component of a triangulation. More... | |
class | regina::NEdgeEmbedding |
Details how an edge in the skeleton forms part of an individual tetrahedron. More... | |
class | regina::NEdge |
Represents an edge in the skeleton of a triangulation. More... | |
class | regina::NExampleTriangulation |
This class offers routines for constructing sample triangulations of various types. More... | |
class | regina::NFaceEmbedding |
Details how a face in the skeleton forms part of an individual tetrahedron. More... | |
class | regina::NFace |
Represents a face in the skeleton of a triangulation. More... | |
class | regina::NFacePair |
Represents a pair of tetrahedron face numbers. More... | |
class | regina::NIsomorphism |
Represents a combinatorial isomorphism from one triangulation into another. More... | |
class | regina::NIsomorphismDirect |
A deprecated synonym for NIsomorphism, provided for backward compatibility only. More... | |
class | regina::NPerm |
Represents a permutation of {0,1,2,3}. More... | |
class | regina::NPermItS4 |
An iterator class that runs through all 24 permutations of four elements. More... | |
struct | regina::NTetFace |
A lightweight class used to refer to a particular face of a particular tetrahedron. More... | |
class | regina::NTetrahedron |
Represents a tetrahedron in a triangulation. More... | |
class | regina::NTriangulation |
Stores the triangulation of a 3-manifold along with its various cellular structures and other information. More... | |
class | regina::NVertexEmbedding |
Details how a vertex in the skeleton forms part of an individual tetrahedron. More... | |
class | regina::NVertex |
Represents a vertex in the skeleton of a triangulation. More... | |
class | regina::NXMLTriangulationReader |
An XML packet reader that reads a single triangulation. More... | |
Functions | |
std::ostream & | regina::operator<< (std::ostream &out, const NPerm &p) |
Writes a string representation of the given permutation to the given output stream. | |
NPerm | regina::faceOrdering (int face) |
Returns a permutation mapping (0,1,2) to the vertices of the given tetrahedron face in their canonical order. | |
NPerm | regina::edgeOrdering (int edge) |
Returns a permutation mapping (0,1) to the vertices of the given tetrahedron edge in their canonical order. | |
std::string | regina::faceDescription (int face) |
Returns a string representation of the permutation mapping (0,1,2) to the vertices of the given tetrahedron face in their canonical order, as described in faceOrdering(). | |
std::string | regina::faceDescription (const NPerm &facePerm) |
Returns a string representation of the given permutation with only the images of 0, 1 and 2 included. | |
std::string | regina::edgeDescription (int edge) |
Returns a string representation of the permutation mapping (0,1) to the vertices of the given tetrahedron edge in their canonical order, as described in edgeOrdering(). | |
std::string | regina::edgeDescription (const NPerm &edgePerm) |
Returns a string representation of the given permutation with only the images of 0 and 1 included. | |
Variables | |
const int | regina::edgeNumber [4][4] |
edgeNumber[i][j] is the number of the edge linking vertices i and j in a tetrahedron. | |
const int | regina::edgeStart [6] |
edgeStart[k] is the vertex of a tetrahedron at which edge k of the tetrahedron begins. | |
const int | regina::edgeEnd [6] |
edgeEnd[k] is the vertex of a tetrahedron at which edge k of the tetrahedron ends. | |
const NPerm * | regina::allPermsS4 |
An array of size 24 containing all possible permutations of four elements. | |
const unsigned * | regina::allPermsS4Inv |
An array of size 24 containing the inverses of the permutations in the array allPermsS4. | |
const NPerm * | regina::orderedPermsS4 |
An array of size 24 containing all possible permutations of four elements in lexicographical order. | |
const NPerm * | regina::allPermsS3 |
An array of size 6 containing all possible permutations of three elements. | |
const unsigned * | regina::allPermsS3Inv |
An array of size 6 containing the inverses of the permutations in the array allPermsS3. | |
const NPerm * | regina::orderedPermsS3 |
An array of size 6 containing all possible permutations of three elements in lexicographical order. | |
const NPerm * | regina::allPermsS2 |
An array of size 2 containing all possible permutations of two elements. | |
const unsigned * | regina::allPermsS2Inv |
An array of size 2 containing the inverses of the permutations in the array allPermsS2. |
std::string regina::edgeDescription | ( | const NPerm & | edgePerm | ) | [inline] |
Returns a string representation of the given permutation with only the images of 0 and 1 included.
edgePerm | the permutation to represent. |
std::string regina::edgeDescription | ( | int | edge | ) |
Returns a string representation of the permutation mapping (0,1) to the vertices of the given tetrahedron edge in their canonical order, as described in edgeOrdering().
Only the images of 0 and 1 will be put in the string.
NEdge::ordering[edge].trunc2()
(which gives identical results).edge | an edge number in a tetrahedron. This should be between 0 and 5 inclusive. The constant arrays NEdge::edgeNumber and NEdge::edgeVertex describe which vertex numbers are joined by which edge numbers. |
NPerm regina::edgeOrdering | ( | int | edge | ) |
Returns a permutation mapping (0,1) to the vertices of the given tetrahedron edge in their canonical order.
The images of (0,1) will be the vertex numbers of the vertices that make up the given edge of a generic tetrahedron.
The images of 2 and 3 in the returned permutation will be chosen so that the permutation will be even.
edge | an edge number in a tetrahedron. This should be between 0 and 5 inclusive. The constant arrays NEdge::edgeNumber and NEdge::edgeVertex describe which vertex numbers are joined by which edge numbers. |
std::string regina::faceDescription | ( | const NPerm & | facePerm | ) | [inline] |
Returns a string representation of the given permutation with only the images of 0, 1 and 2 included.
facePerm | the permutation to represent. |
std::string regina::faceDescription | ( | int | face | ) |
Returns a string representation of the permutation mapping (0,1,2) to the vertices of the given tetrahedron face in their canonical order, as described in faceOrdering().
Only the images of 0, 1 and 2 will be put in the string.
NFace::ordering[face].trunc3()
(which gives identical results).face | a face number in a tetrahedron. This should be between 0 and 3 inclusive. Note that face i is opposite vertex i. |
NPerm regina::faceOrdering | ( | int | face | ) |
Returns a permutation mapping (0,1,2) to the vertices of the given tetrahedron face in their canonical order.
The images of (0,1,2) will be the vertex numbers of the vertices that make up the given face of a generic tetrahedron.
face | a face number in a tetrahedron. This should be between 0 and 3 inclusive. Note that face i is opposite vertex i. |
std::ostream& regina::operator<< | ( | std::ostream & | out, | |
const NPerm & | p | |||
) | [inline] |
Writes a string representation of the given permutation to the given output stream.
The format will be the same as is used by NPerm::toString().
out | the output stream to which to write. | |
p | the permutation to write. |
const NPerm* regina::allPermsS2 |
An array of size 2 containing all possible permutations of two elements.
In each permutation, 2 maps to 2 and 3 maps to 3.
The permutations with even indices in the array are the even permutations, and those with odd indices in the array are the odd permutations.
Note that the permutations are also in lexicographical order.
const unsigned* regina::allPermsS2Inv |
An array of size 2 containing the inverses of the permutations in the array allPermsS2.
Specifically, the inverse of permutation allPermsS2[i]
is the permutation allPermsS2[ allPermsS2Inv[i] ]
.
const NPerm* regina::allPermsS3 |
An array of size 6 containing all possible permutations of three elements.
In each permutation, 3 maps to 3.
The permutations with even indices in the array are the even permutations, and those with odd indices in the array are the odd permutations.
Note that the permutations are not necessarily in lexicographical order.
const unsigned* regina::allPermsS3Inv |
An array of size 6 containing the inverses of the permutations in the array allPermsS3.
Specifically, the inverse of permutation allPermsS3[i]
is the permutation allPermsS3[ allPermsS3Inv[i] ]
.
const NPerm* regina::allPermsS4 |
An array of size 24 containing all possible permutations of four elements.
The permutations with even indices in the array are the even permutations, and those with odd indices in the array are the odd permutations.
Note that the permutations are not necessarily in lexicographical order.
const unsigned* regina::allPermsS4Inv |
An array of size 24 containing the inverses of the permutations in the array allPermsS4.
Specifically, the inverse of permutation allPermsS4[i]
is the permutation allPermsS4[ allPermsS4Inv[i] ]
.
const int regina::edgeEnd[6] |
edgeEnd[k]
is the vertex of a tetrahedron at which edge k
of the tetrahedron ends.
k
must be between 0 and 5 inclusive. The resulting vertex number will be between 0 and 3 inclusive.
Note that edge numbers of opposite edges will always add to 5. You are guaranteed that edgeStart[e]
will always be smaller than edgeEnd[e]
.
edgeEnd[i]
is now NEdge::edgeVertex[i][1]
). Users are advised to switch to NEdge::edgeVertex instead, since the old regina::edgeStart and regina::edgeEnd will eventually be removed in some future version of Regina. const int regina::edgeNumber[4][4] |
edgeNumber[i][j]
is the number of the edge linking vertices i
and j
in a tetrahedron.
i
and j
must be between 0 and 3 inclusive and may be given in any order. The resulting edge number will be between 0 and 5 inclusive.
Note that edge numbers of opposite edges will always add to 5.
const int regina::edgeStart[6] |
edgeStart[k]
is the vertex of a tetrahedron at which edge k
of the tetrahedron begins.
k
must be between 0 and 5 inclusive. The resulting vertex number will be between 0 and 3 inclusive.
Note that edge numbers of opposite edges will always add to 5. You are guaranteed that edgeStart[e]
will always be smaller than edgeEnd[e]
.
edgeStart[i]
is now NEdge::edgeVertex[i][0]
). Users are advised to switch to NEdge::edgeVertex instead, since the old regina::edgeStart and regina::edgeEnd will eventually be removed in some future version of Regina. const NPerm* regina::orderedPermsS3 |
An array of size 6 containing all possible permutations of three elements in lexicographical order.
In each permutation, 3 maps to 3.
const NPerm* regina::orderedPermsS4 |
An array of size 24 containing all possible permutations of four elements in lexicographical order.