Regina Calculation Engine
Classes | Typedefs | Functions
Generic triangulations

Details for implementing triangulations in arbitrary dimensions. More...

Classes

class  regina::BoundaryComponent< dim >
 A component of the boundary of a dim-manifold triangulation. More...
 
class  regina::Component< dim >
 A connected component of a dim-manifold triangulation. More...
 
class  regina::FaceEmbedding< dim, subdim >
 Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
class  regina::Face< dim, subdim >
 Represents a subdim-face in the skeleton of a dim-dimensional triangulation. More...
 
class  regina::FacetPairing< dim >
 Represents the dual graph of a dim-manifold triangulation; that is, the pairwise matching of facets of dim-dimensional simplices. More...
 
class  regina::Isomorphism< dim >
 Represents a combinatorial isomorphism from one dim-manifold triangulation into another. More...
 
class  regina::Face< dim, dim >
 Represents a top-dimensional simplex in a dim-manifold triangulation. More...
 
class  regina::FaceList< dim, subdim >
 Stores the list of all subdim-faces of a dim-dimensional triangulation. More...
 
class  regina::Triangulation< dim >
 A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets. More...
 
class  regina::DegreeLessThan< dim, subdim >
 A function object used for sorting faces of triangulations by increasing degree. More...
 
class  regina::DegreeGreaterThan< dim, subdim >
 A function object used for sorting faces of triangulations by decreasing degree. More...
 

Typedefs

template<int dim>
using regina::VertexEmbedding = FaceEmbedding< dim, 0 >
 Details how a vertex of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
template<int dim>
using regina::EdgeEmbedding = FaceEmbedding< dim, 1 >
 Details how a edge of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
template<int dim>
using regina::TriangleEmbedding = FaceEmbedding< dim, 2 >
 Details how a triangular face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
template<int dim>
using regina::TetrahedronEmbedding = FaceEmbedding< dim, 3 >
 Details how a tetrahedral face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
template<int dim>
using regina::PentachoronEmbedding = FaceEmbedding< dim, 4 >
 Details how a pentachoron face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...
 
template<int dim>
using regina::Vertex = Face< dim, 0 >
 Refers to a vertex of a dim-dimensional triangulation. More...
 
template<int dim>
using regina::Edge = Face< dim, 1 >
 Refers to an edge of a dim-dimensional triangulation. More...
 
template<int dim>
using regina::Triangle = Face< dim, 2 >
 Refers to a triangular face of a dim-dimensional triangulation. More...
 
template<int dim>
using regina::Tetrahedron = Face< dim, 3 >
 Refers to a tetrahedral face of a dim-dimensional triangulation. More...
 
template<int dim>
using regina::Pentachoron = Face< dim, 4 >
 Refers to a pentachoron face of a dim-dimensional triangulation. More...
 
template<int dim>
using regina::Simplex = Face< dim, dim >
 Refers to a top-dimensional simplex in a dim-dimensional triangulation. More...
 
typedef std::vector< Face< dim, subdim > * >::const_iterator regina::FaceList< dim, subdim >::Iterator
 An iterator type for iterating through this list of faces. More...
 

Functions

 regina::FaceList< dim, subdim >::FaceList (const FaceList &)=delete
 Explicitly disable the copy constructor. More...
 
FaceListregina::FaceList< dim, subdim >::operator= (const FaceList &)=delete
 Explicitly disable the assignment operator. More...
 
size_t regina::FaceList< dim, subdim >::size () const
 Returns the number of subdim-faces in the triangulation. More...
 
Face< dim, subdim > * regina::FaceList< dim, subdim >::operator[] (size_t index) const
 Returns the requested subdim-face. More...
 
Iterator regina::FaceList< dim, subdim >::begin () const
 Returns an iterator pointing to the first subdim-face. More...
 
Iterator regina::FaceList< dim, subdim >::end () const
 Returns an iterator pointing beyond the last subdim-face. More...
 
 regina::FaceList< dim, subdim >::FaceList ()=default
 Creates an empty list of subdim-faces. More...
 
void regina::FaceList< dim, subdim >::push_back (Face< dim, subdim > *face)
 Pushes the given face onto the end of this list. More...
 
void regina::FaceList< dim, subdim >::destroy ()
 Destroys all faces in this list, and clears the list itself. More...
 
void regina::FaceList< dim, subdim >::swap (FaceList< dim, subdim > &other)
 Swaps all faces in this list with those in the given list. More...
 
bool regina::FaceList< dim, subdim >::sameDegrees (const FaceList< dim, subdim > &other) const
 Tests whether this and the given triangulation have the same subdim-face degree sequences. More...
 
template<typename Iterator >
void regina::FaceList< dim, subdim >::reorderFaces (Iterator begin, Iterator end)
 Reorders this list of faces. More...
 

Detailed Description

Details for implementing triangulations in arbitrary dimensions.

Typedef Documentation

§ Edge

template<int dim>
using regina::Edge = typedef Face<dim, 1>

Refers to an edge of a dim-dimensional triangulation.

This is the preferred way to refer to an edge of a triangulation (as opposed to the more clumsy notation Face<dim, 1>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., Edge5).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

§ EdgeEmbedding

template<int dim>
using regina::EdgeEmbedding = typedef FaceEmbedding<dim, 1>

Details how a edge of a dim-dimensional triangulation appears within each top-dimensional simplex.

This is the preferred way to refer to this class (as opposed to the more clumsy notation FaceEmbedding<dim, 1>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., EdgeEmbedding5).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

§ Iterator

template<int dim, int subdim>
typedef std::vector<Face<dim, subdim>*>::const_iterator regina::FaceList< dim, subdim >::Iterator

An iterator type for iterating through this list of faces.

Dereferencing such an iterator will return a pointer of type Face<dim, subdim>*.

§ Pentachoron

template<int dim>
using regina::Pentachoron = typedef Face<dim, 4>

Refers to a pentachoron face of a dim-dimensional triangulation.

This alias is also valid for the case dim = 4, where it refers to a top-dimensional simplex of a 4-dimensional triangulation.

This is the preferred way to refer to a 4-face of a triangulation (as opposed to the more clumsy notation Face<dim, 4>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., Pentachoron9).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 4 and 15 inclusive.

§ PentachoronEmbedding

template<int dim>
using regina::PentachoronEmbedding = typedef FaceEmbedding<dim, 4>

Details how a pentachoron face of a dim-dimensional triangulation appears within each top-dimensional simplex.

This is the preferred way to refer to this class (as opposed to the more clumsy notation FaceEmbedding<dim, 4>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., PentachoronEmbedding14).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 5 and 15 inclusive.

§ Simplex

template<int dim>
using regina::Simplex = typedef Face<dim, dim>

Refers to a top-dimensional simplex in a dim-dimensional triangulation.

This is the preferred way to refer to a top-dimensional simplex (as opposed to the more clumsy notation Face<dim, dim>).

Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

§ Tetrahedron

template<int dim>
using regina::Tetrahedron = typedef Face<dim, 3>

Refers to a tetrahedral face of a dim-dimensional triangulation.

This alias is also valid for the case dim = 3, where it refers to a top-dimensional simplex of a 3-dimensional triangulation.

This is the preferred way to refer to a 3-face of a triangulation (as opposed to the more clumsy notation Face<dim, 3>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., Tetrahedron7).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 3 and 15 inclusive.

§ TetrahedronEmbedding

template<int dim>
using regina::TetrahedronEmbedding = typedef FaceEmbedding<dim, 3>

Details how a tetrahedral face of a dim-dimensional triangulation appears within each top-dimensional simplex.

This is the preferred way to refer to this class (as opposed to the more clumsy notation FaceEmbedding<dim, 3>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., TetrahedronEmbedding7).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 4 and 15 inclusive.

§ Triangle

template<int dim>
using regina::Triangle = typedef Face<dim, 2>

Refers to a triangular face of a dim-dimensional triangulation.

This alias is also valid for the case dim = 2, where it refers to a top-dimensional simplex of a 2-dimensional triangulation.

This is the preferred way to refer to a 2-face of a triangulation (as opposed to the more clumsy notation Face<dim, 2>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., Triangle4).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

§ TriangleEmbedding

template<int dim>
using regina::TriangleEmbedding = typedef FaceEmbedding<dim, 2>

Details how a triangular face of a dim-dimensional triangulation appears within each top-dimensional simplex.

This is the preferred way to refer to this class (as opposed to the more clumsy notation FaceEmbedding<dim, 2>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., TriangleEmbedding12).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 3 and 15 inclusive.

§ Vertex

template<int dim>
using regina::Vertex = typedef Face<dim, 0>

Refers to a vertex of a dim-dimensional triangulation.

This is the preferred way to refer to a vertex of a triangulation (as opposed to the more clumsy notation Face<dim, 0>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., Vertex8).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

§ VertexEmbedding

template<int dim>
using regina::VertexEmbedding = typedef FaceEmbedding<dim, 0>

Details how a vertex of a dim-dimensional triangulation appears within each top-dimensional simplex.

This is the preferred way to refer to this class (as opposed to the more clumsy notation FaceEmbedding<dim, 0>).

Python:
Python does not support templates. Instead this alias can be used by appending the dimension dim as a suffix (e.g., VertexEmbedding3).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

Function Documentation

§ begin()

template<int dim, int subdim>
FaceList< dim, subdim >::Iterator regina::FaceList< dim, subdim >::begin ( ) const
inline

Returns an iterator pointing to the first subdim-face.

Returns
an iterator at the beginning of this list.

§ destroy()

template<int dim, int subdim>
void regina::FaceList< dim, subdim >::destroy ( )
inlineprotected

Destroys all faces in this list, and clears the list itself.

§ end()

template<int dim, int subdim>
FaceList< dim, subdim >::Iterator regina::FaceList< dim, subdim >::end ( ) const
inline

Returns an iterator pointing beyond the last subdim-face.

Returns
an iterator beyond the end of this list.

§ FaceList() [1/2]

template<int dim, int subdim>
regina::FaceList< dim, subdim >::FaceList ( const FaceList< dim, subdim > &  )
delete

Explicitly disable the copy constructor.

§ FaceList() [2/2]

template<int dim, int subdim>
regina::FaceList< dim, subdim >::FaceList ( )
protecteddefault

Creates an empty list of subdim-faces.

§ operator=()

template<int dim, int subdim>
FaceList& regina::FaceList< dim, subdim >::operator= ( const FaceList< dim, subdim > &  )
delete

Explicitly disable the assignment operator.

§ operator[]()

template<int dim, int subdim>
Face< dim, subdim > * regina::FaceList< dim, subdim >::operator[] ( size_t  index) const
inline

Returns the requested subdim-face.

Parameters
indexindicates which face to return; this must be between 0 and size()-1 inclusive.
Returns
the (index)th subdim-face.

§ push_back()

template<int dim, int subdim>
void regina::FaceList< dim, subdim >::push_back ( Face< dim, subdim > *  face)
inlineprotected

Pushes the given face onto the end of this list.

This object will take ownership of the given face.

Parameters
facethe face to push.

§ reorderFaces()

template<int dim, int subdim>
template<typename Iterator >
void regina::FaceList< dim, subdim >::reorderFaces ( Iterator  begin,
Iterator  end 
)
inlineprotected

Reorders this list of faces.

The given range should contain exactly the faces in this list but in a (possibly) different order. This routine will then replace the items in this list with the given range, which will therefore just reorder them.

Note that the indices returned by Face<dim, subdim>::index() will change as a result.

Precondition
The range of faces defined by begin and end contains exactly the faces in this list, but possibly in a different order.
Template Parameters
Iteratoran input iterator type, whose dereference operator returns a pointer of type Face<dim, subdim>*.
Parameters
beginan iterator that points to the beginning of the range of reordered faces.
endan iterator that points past the end of the range of reordered faces.

§ sameDegrees()

template<int dim, int subdim>
bool regina::FaceList< dim, subdim >::sameDegrees ( const FaceList< dim, subdim > &  other) const
protected

Tests whether this and the given triangulation have the same subdim-face degree sequences.

For the purposes of this routine, degree sequences are considered to be unordered.

Precondition
This and the given triangulation are known to have the same number of subdim-faces as each other.
Parameters
otherthe triangulation to compare against this.
Returns
true if and only if the degree sequences are equal.

§ size()

template<int dim, int subdim>
size_t regina::FaceList< dim, subdim >::size ( ) const
inline

Returns the number of subdim-faces in the triangulation.

Returns
the number of subdim-faces.

§ swap()

template<int dim, int subdim>
void regina::FaceList< dim, subdim >::swap ( FaceList< dim, subdim > &  other)
inlineprotected

Swaps all faces in this list with those in the given list.

Parameters
otherthe list of faces to swap with this.

Copyright © 1999-2016, 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@maths.uq.edu.au).