Regina Calculation Engine
Classes | Typedefs | Enumerations
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...
 
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::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::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.

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