Triangulations

Triangulations of 3-manifolds. More...

## Classes

class | regina::Dim2ExampleTriangulation
| This class offers routines for constructing sample 2-manifold triangulations of various types. More...
struct | regina::SnapPeaException
| A base class for all exceptions that are thrown from within the SnapPea kernel. More...
struct | regina::SnapPeaFatalError
| An exception that is thrown when the SnapPea kernel encounters a fatal error. More...
struct | regina::SnapPeaMemoryFull
| An exception that is thrown when the SnapPea kernel finds that all available memory has been exhausted. More...
struct | regina::PacketInfo< PACKET_SNAPPEATRIANGULATION >
| Stores information about the SnapPea triangulation packet. More...
class | regina::NCusp
| Represents a single cusp of a SnapPea triangulation. More...
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 3-manifold triangulations of various types. 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::NPermItS4
| An iterator class that runs through all 24 permutations of four elements. More...
class | regina::NTetrahedron
| Represents a tetrahedron in a triangulation. More...
class | regina::NTriangleEmbedding
| Details how a triangle in the skeleton forms part of an individual tetrahedron. More...
class | regina::NTriangle
| Represents a triangle in the skeleton of a triangulation. More...
struct | regina::PacketInfo< PACKET_TRIANGULATION >
| Stores information about the 3-manifold triangulation packet. 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...

## Typedefs

typedef NPerm4 | regina::NPerm
| A legacy typedef provided for backward compatibility only. More...

## Enumerations

enum | regina::NSnapPeaTriangulation::SolutionType { regina::NSnapPeaTriangulation::not_attempted, regina::NSnapPeaTriangulation::geometric_solution, regina::NSnapPeaTriangulation::nongeometric_solution, regina::NSnapPeaTriangulation::flat_solution, regina::NSnapPeaTriangulation::degenerate_solution, regina::NSnapPeaTriangulation::other_solution, regina::NSnapPeaTriangulation::no_solution }
| Describes the different types of solution that can be found when solving for a hyperbolic structure. More...

## Variables

REGINA_API const int | regina::edgeNumber [4][4]
| `edgeNumber[i][j]` is the number of the edge linking vertices `i` and `j` in a tetrahedron. More...
REGINA_API const int | regina::edgeStart [6]
| `edgeStart[k]` is the vertex of a tetrahedron at which edge `k` of the tetrahedron begins. More...
REGINA_API const int | regina::edgeEnd [6]
| `edgeEnd[k]` is the vertex of a tetrahedron at which edge `k` of the tetrahedron ends. More...

## Detailed Description

Triangulations of 3-manifolds.

## Typedef Documentation

typedef NPerm4 regina::NPerm

A legacy typedef provided for backward compatibility only.

Deprecated:
  As of Regina 4.6.1, the class NPerm has been renamed as NPerm4 (which has identical functionality). This NPerm typedef is provided for backward compatibility, and will be removed in some future version of Regina.

## Enumeration Type Documentation

enum regina::NSnapPeaTriangulation::SolutionType

Describes the different types of solution that can be found when solving for a hyperbolic structure.

Although this enumeration is identical to SnapPea's own SolutionType, it is declared again in this class because Regina code should not in general be interacting directly with the SnapPea kernel. Values may be freely converted between the two enumeration types by simple assignment and/or typecasting.

Warning
  This enumeration must always be kept in sync with SnapPea's own SolutionType enumeration.

Enumerator
not_attempted | A solution has not been attempted.
geometric_solution | All tetrahedra are either positively oriented or flat, though the entire solution is not flat and no tetrahedra are degenerate.
nongeometric_solution | The volume is positive, but some tetrahedra are negatively oriented.
flat_solution | All tetrahedra are flat, but none have shape 0, 1 or infinity.
degenerate_solution | At least one tetrahedron has shape 0, 1 or infinity.
other_solution | The volume is zero or negative, but the solution is neither flat nor degenerate.
no_solution | The gluing equations could not be solved.

## Variable Documentation

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

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

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

Copyright © 1999-2014, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).