Triangulations

Triangulations of 3-manifolds. More...


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.


Detailed Description

Triangulations of 3-manifolds.

Function Documentation

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use NPerm::trunc2() instead (which gives identical results).
Parameters:
edgePerm the permutation to represent.
Returns:
a restricted string representation of the given permutation.

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use NEdge::ordering[edge].trunc2() (which gives identical results).
Parameters:
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.
Returns:
a string representing the canonical ordering of vertices in the given edge.

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use the lookup table NEdge::ordering instead (which gives identical results).
Parameters:
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.
Returns:
the permutation representing the canonical ordering of vertices in the given edge.

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use NPerm::trunc3() instead (which gives identical results).
Parameters:
facePerm the permutation to represent.
Returns:
a restricted string representation of the given permutation.

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use NFace::ordering[face].trunc3() (which gives identical results).
Parameters:
face a face number in a tetrahedron. This should be between 0 and 3 inclusive. Note that face i is opposite vertex i.
Returns:
a string representing the canonical ordering of vertices in the given face.

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.

Deprecated:
This routine is no longer recommended, and will be removed in some future version of Regina. Please use the lookup table NFace::ordering instead (which gives identical results).
Parameters:
face a face number in a tetrahedron. This should be between 0 and 3 inclusive. Note that face i is opposite vertex i.
Returns:
the permutation representing the canonical ordering of vertices in the given face.

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().

Parameters:
out the output stream to which to write.
p the permutation to write.
Returns:
a reference to out.


Variable Documentation

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.

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::S2. The deprecated name regina::allPermsS2 now just points to NPerm::S2, and will be removed in some future version of Regina.

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] ].

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::invS2. The deprecated name regina::allPermsS2Inv now just points to NPerm::invS2, and will be removed in some future version of Regina.

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.

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::S3. The deprecated name regina::allPermsS4 now just points to NPerm::S3, and will be removed in some future version of Regina.

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] ].

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::invS3. The deprecated name regina::allPermsS3Inv now just points to NPerm::invS3, and will be removed in some future version of Regina.

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.

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::S4. The deprecated name regina::allPermsS4 now just points to NPerm::S4, and will be removed in some future version of Regina.

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] ].

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::invS4. The deprecated name regina::allPermsS4Inv now just points to NPerm::invS4, and will be removed in some future version of Regina.

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].

Deprecated:
This array has been superceded by NEdge::edgeVertex (where 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.

Deprecated:
This array has been replaced with the identical array NEdge::edgeNumber. Users are advised to switch to NEdge::edgeNumber instead, since the old regina::edgeNumber will eventually be removed in some future version of Regina.

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].

Deprecated:
This array has been superceded by NEdge::edgeVertex (where 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.

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::orderedS3. The deprecated name regina::orderedPermsS3 now just points to NPerm::orderedS3, and will be removed in some future version of Regina.

const NPerm* regina::orderedPermsS4

An array of size 24 containing all possible permutations of four elements in lexicographical order.

Deprecated:
This array has been moved into the NPerm class, and can now be accessed as the static array NPerm::orderedS4. The deprecated name regina::orderedPermsS4 now just points to NPerm::orderedS4, and will be removed in some future version of Regina.


Copyright © 1999-2009, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).