Census of Triangulations

Census lookup and enumeration for triangulations of various dimensions. More...

## Classes

class | regina::Dim2Census
| A utility class used to search for triangulations across one or more 2-manifold census databases. More...
class | regina::Dim2EdgePairing
| Represents a specific pairwise matching of edges of triangles. More...
class | regina::Dim2GluingPerms
| Represents a specific set of gluing permutations to complement a particular pairwise matching of triangle edges. More...
class | regina::Dim2GluingPermSearcher
| A utility class for searching through all possible gluing permutation sets that correspond to a given triangle edge pairing. More...
class | regina::NCensusDB
| Stores the location and description of one of Regina's in-built census databases. More...
class | regina::NCensusHit
| Stores a single "hit" indicating that some given triangulation has been located in one of Regina's in-built census databases. More...
class | regina::NCensusHits
| Stores a list of "hits" indicating all the places in which a given triangulation has been located in Regina's various in-built census databases. More...
class | regina::NCensus
| A utility class used to search for triangulations across one or more 3-manifold census databases. More...
class | regina::NFacePairing
| Represents a specific pairwise matching of tetrahedron faces. More...
class | regina::NGenericFacetPairing< dim >
| A dimension-agnostic base class that represents a pairwise matching of facets of dim-dimensional simplices. More...
class | regina::NGenericGluingPerms< dim >
| A dimension-agnostic base class that represents a specific set of gluing permutations to complement a particular pairwise matching of simplex facets. More...
class | regina::NGluingPerms
| Represents a specific set of gluing permutations to complement a particular pairwise matching of tetrahedron faces. More...
class | regina::NGluingPermSearcher
| A utility class for searching through all possible gluing permutation sets that correspond to a given tetrahedron face pairing. More...
struct | regina::NEulerSearcher::TetVertexState
| A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed. More...
struct | regina::NEulerSearcher::TetEdgeState
| A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed. More...
class | regina::NEulerSearcher
| A gluing permutation search class that offers a specialised search algorithm for when all vertex links must all have a given fixed Euler characteristic. More...
struct | regina::NCompactSearcher::TetVertexState
| A structure used to track equivalence classes of tetrahedron vertices as the gluing permutation set is constructed. More...
struct | regina::NCompactSearcher::TetEdgeState
| A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed. More...
class | regina::NCompactSearcher
| A gluing permutation search class that offers a specialised search algorithm for when only compact (finite) 3-manifold triangulations are required. More...
class | regina::NClosedPrimeMinSearcher
| A gluing permutation search class that offers a specialised search algorithm for when (i) only closed prime minimal P2-irreducible triangulations are required, and (ii) the given face pairing has order at least three. More...
class | regina::NHyperbolicMinSearcher
| A gluing permutation search class that offers a specialised search algorithm for when only minimal ideal triangulations of cusped finite-volume hyperbolic 3-manifolds are required. More...

## Typedefs

typedef void(* | regina::UseDim2GluingPerms) (const Dim2GluingPermSearcher *, void *)
| A routine used to do arbitrary processing upon a particular set of triangle gluing permutations. More...
typedef bool(* | regina::AcceptTriangulation) (NTriangulation *, void *)
| A legacy typedef that is identical to NCensus::AcceptTriangulation. More...
typedef std::list< NIsomorphism * > | regina::NFacePairingIsoList
| A legacy typedef provided for backward compatibility only. More...
typedef void(* | regina::UseFacePairing) (const NFacePairing *, const NFacePairingIsoList *, void *)
| A legacy typedef provided for backward compatibility only. More...
typedef void(* | regina::UseGluingPerms) (const NGluingPermSearcher *, void *)
| A routine used to do arbitrary processing upon a particular set of tetrahedron gluing permutations. More...

## Enumerations

enum | regina::NGluingPermSearcher::PurgeFlags { regina::NGluingPermSearcher::PURGE_NONE = 0, regina::NGluingPermSearcher::PURGE_NON_MINIMAL = 1, regina::NGluingPermSearcher::PURGE_NON_PRIME = 2, regina::NGluingPermSearcher::PURGE_NON_MINIMAL_PRIME = 3, regina::NGluingPermSearcher::PURGE_NON_MINIMAL_HYP = 9, regina::NGluingPermSearcher::PURGE_P2_REDUCIBLE = 4 }
| Flags to indicate that our enumeration may (at the discretion of the enumeration algorithm) ignore certain classes of triangulations. More...
enum | { regina::NEulerSearcher::VLINK_JOIN_INIT = -1, regina::NEulerSearcher::VLINK_JOIN_HANDLE = -2, regina::NEulerSearcher::VLINK_JOIN_BRIDGE = -3, regina::NEulerSearcher::VLINK_JOIN_TWIST = -4 }
| Constants used in the vertexStateChanged array to indicate how a partial vertex link becomes glued to itself along two of its boundary edges. More...

## Detailed Description

Census lookup and enumeration for triangulations of various dimensions.

## Typedef Documentation

typedef bool(* regina::AcceptTriangulation) (NTriangulation *, void *)

A legacy typedef that is identical to NCensus::AcceptTriangulation.

See NCensus::AcceptTriangulation for further details.

Deprecated:
  This global typedef is now deprecated. Please use the identical class typedef NCensus::AcceptTriangulation instead. However, be aware that the NCensus enumeration facilities are on their way out of Regina, and in the future the NCensus class will be used purely for census lookups. If you wish to build a census yourself, you should call NFacePairing::findAllPairings() and NGluingPermSearcher::findAllPerms() directly.

typedef std::list<NIsomorphism*> regina::NFacePairingIsoList

A legacy typedef provided for backward compatibility only.

Deprecated:
  As of Regina 4.94, this typedef is now available as NFacePairing::IsoList. The old typedef NFacePairingIsoList is provided for backward compatibility, but will be removed in some future version of Regina.

typedef void(* regina::UseDim2GluingPerms) (const Dim2GluingPermSearcher *, void *)

A routine used to do arbitrary processing upon a particular set of triangle gluing permutations.

Such routines are used to process permutation sets found when running Dim2GluingPermSearcher::findAllPerms().

The first parameter passed will be a set of gluing permutations (in fact it will be of the subclass Dim2GluingPermSearcher in order to support partial searches as well as full searches). This set of gluing permutations must not be deallocated by this routine, since it may be used again later by the caller. The second parameter may contain arbitrary data as passed to either Dim2GluingPerms::findAllPerms() or the Dim2GluingPermSearcher class constructor.

Note that the first parameter passed might be `null` to signal that gluing permutation generation has finished.

typedef void(* regina::UseFacePairing) (const NFacePairing *, const NFacePairingIsoList *, void *)

A legacy typedef provided for backward compatibility only.

Deprecated:
  As of Regina 4.94, this typedef is now available as NFacePairing::Use. The old typedef UseFacePairing is provided for backward compatibility, but will be removed in some future version of Regina.

typedef void(* regina::UseGluingPerms) (const NGluingPermSearcher *, void *)

A routine used to do arbitrary processing upon a particular set of tetrahedron gluing permutations.

Such routines are used to process permutation sets found when running NGluingPermSearcher::findAllPerms().

The first parameter passed will be a set of gluing permutations (in fact it will be of the subclass NGluingPermSearcher in order to support partial searches as well as full searches). This set of gluing permutations must not be deallocated by this routine, since it may be used again later by the caller. The second parameter may contain arbitrary data as passed to either NGluingPerms::findAllPerms() or the NGluingPermSearcher class constructor.

Note that the first parameter passed might be `null` to signal that gluing permutation generation has finished.

## Enumeration Type Documentation

anonymous enum

protected

Constants used in the vertexStateChanged array to indicate how a partial vertex link becomes glued to itself along two of its boundary edges.

See vertexStateChanged for details.

Enumerator
VLINK_JOIN_INIT | A placeholder value for a join that has not yet been made.
VLINK_JOIN_HANDLE | Signifies that two distinct boundary components of a vertex link have been connected, forming a handle (either orientable or non-orientable).
VLINK_JOIN_BRIDGE | Signifies that a single boundary component of the vertex link has had two edges joined together in an orientation-preserving fashion.
VLINK_JOIN_TWIST | Signifies that a single boundary component of the vertex link has had two edges joined together in an orientation-reversing fashion.

enum regina::NGluingPermSearcher::PurgeFlags

Flags to indicate that our enumeration may (at the discretion of the enumeration algorithm) ignore certain classes of triangulations.

These flags can be combined using bitwise OR.

See the NGluingPermSearcher constructor documentation for further details on how these flags are used.

Python:
  For convenience, these constants are also made available directly in Python's regina namespace.

Enumerator
PURGE_NONE | Indicates that no triangulations should be ignored.
PURGE_NON_MINIMAL | Indicates that non-minimal triangulations may be ignored.
PURGE_NON_PRIME | Indicates that any triangulation that is not prime (i.e., can be written as a non-trivial connected sum) and any bounded triangulation that is reducible over a disc may be ignored.
PURGE_NON_MINIMAL_PRIME | Indicates that any triangulation that is not prime (i.e., can be written as a non-trivial connected sum), any bounded triangulation that is reducible over a disc and any triangulation that is non-minimal may be ignored. Note that this is simply a combination of the constants PURGE_NON_MINIMAL and PURGE_NON_PRIME.
PURGE_NON_MINIMAL_HYP | Indicates that any triangulation that is not a minimal ideal triangulation of a cusped finite-volume hyperbolic 3-manifold may be ignored.
PURGE_P2_REDUCIBLE | Indicates that any triangulation containing an embedded two-sided projective plane may be ignored.

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