Regina Calculation Engine
Classes | Typedefs | Functions | Variables | Friends
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::FaceEmbedding< dim, subdim >::FaceEmbedding ()=default
 Default constructor. More...
 
 regina::FaceEmbedding< dim, subdim >::FaceEmbedding (Simplex< dim > *simplex, int face)
 Creates a new object containing the given data. More...
 
 regina::FaceEmbedding< dim, subdim >::FaceEmbedding (const FaceEmbedding &cloneMe)=default
 Creates a new copy of the given object. More...
 
FaceEmbeddingregina::FaceEmbedding< dim, subdim >::operator= (const FaceEmbedding &cloneMe)=default
 Sets this to be a copy of the given object. More...
 
 regina::Face< dim, subdim >::Face (Component< dim > *component)
 Creates a new face. More...
 
 regina::FacetPairing< dim >::FacetPairing (const FacetPairing &cloneMe)
 Creates a new clone of the given facet pairing. More...
 
 regina::FacetPairing< dim >::FacetPairing (const Triangulation< dim > &tri)
 Creates the dual graph of the given triangulation. More...
 
 regina::Isomorphism< dim >::Isomorphism (unsigned nSimplices)
 Creates a new isomorphism with no initialisation. More...
 
 regina::Isomorphism< dim >::Isomorphism (const Isomorphism &src)=default
 Creates a copy of the given isomorphism. More...
 
 regina::Isomorphism< dim >::Isomorphism (Isomorphism &&src) noexcept=default
 Moves the given isomorphism into this new isomorphism. More...
 
 regina::Face< dim, dim >::Face (Triangulation< dim > *tri)
 Creates a new simplex with no description and no facets joined to anything. More...
 
 regina::Face< dim, dim >::Face (const std::string &desc, Triangulation< dim > *tri)
 Creates a new simplex with the given description and no facets joined to anything. 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 (const FaceList &)=delete
 
FaceListregina::FaceList< dim, subdim >::operator= (const FaceList &)=delete
 
 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...
 
static std::string regina::Triangulation< dim >::PacketTypeInfo::name ()
 
 regina::DegreeLessThan< dim, subdim >::DegreeLessThan (const Triangulation< dim > &tri)
 Constructions a function object for working with faces of the given triangulation. More...
 
 regina::DegreeLessThan< dim, subdim >::DegreeLessThan (const DegreeLessThan &)=default
 Creates a new clone of the given function object. More...
 
bool regina::DegreeLessThan< dim, subdim >::operator() (unsigned a, unsigned b) const
 Compares the degrees of the subdim-dimensional faces at the given indices within the working triangulation. More...
 
DegreeLessThanregina::DegreeLessThan< dim, subdim >::operator= (const DegreeLessThan &)=delete
 
 regina::DegreeGreaterThan< dim, subdim >::DegreeGreaterThan (const Triangulation< dim > &tri)
 Constructions a function object for working with faces of the given triangulation. More...
 
 regina::DegreeGreaterThan< dim, subdim >::DegreeGreaterThan (const DegreeGreaterThan &)=default
 Creates a new clone of the given function object. More...
 
bool regina::DegreeGreaterThan< dim, subdim >::operator() (unsigned a, unsigned b) const
 Compares the degrees of the subdim-dimensional faces at the given indices within the working triangulation. More...
 
DegreeGreaterThanregina::DegreeGreaterThan< dim, subdim >::operator= (const DegreeGreaterThan &)=delete
 

Variables

static constexpr const PacketType regina::Triangulation< dim >::PacketTypeInfo::typeID = PacketType(100 + dim)
 

Friends

class regina::BoundaryComponent< dim >::Triangulation< dim >
 
class regina::BoundaryComponent< dim >::detail::TriangulationBase< dim >
 
class regina::Component< dim >::detail::TriangulationBase< dim >
 
class regina::Face< dim, subdim >::Triangulation< dim >
 
class regina::Face< dim, subdim >::detail::TriangulationBase< dim >
 
class regina::FacetPairing< dim >::detail::FacetPairingBase< dim >
 
class regina::Face< dim, dim >::Triangulation< dim >
 
class regina::Face< dim, dim >::detail::TriangulationBase< dim >
 

Constructors and Destructors

 regina::Triangulation< dim >::Triangulation ()
 Default constructor. More...
 
 regina::Triangulation< dim >::Triangulation (const Triangulation &copy)
 Creates a new copy of the given triangulation. More...
 
 regina::Triangulation< dim >::Triangulation (const Triangulation &copy, bool cloneProps)
 Creates a new copy of the given triangulation, with the option of whether or not to clone its computed properties also. More...
 
virtual regina::Triangulation< dim >::~Triangulation ()
 Destroys this triangulation. More...
 

Packet Administration

class regina::Triangulation< dim >::detail::SimplexBase< dim >
 
class regina::Triangulation< dim >::detail::TriangulationBase< dim >
 
virtual void regina::Triangulation< dim >::writeTextShort (std::ostream &out) const override
 
virtual void regina::Triangulation< dim >::writeTextLong (std::ostream &out) const override
 
virtual bool regina::Triangulation< dim >::dependsOnParent () const override
 
static XMLPacketReaderregina::Triangulation< dim >::xmlReader (Packet *parent, XMLTreeResolver &resolver)
 
virtual Packetregina::Triangulation< dim >::internalClonePacket (Packet *parent) const override
 
virtual void regina::Triangulation< dim >::writeXMLPacketData (std::ostream &out) const override
 

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:\n 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:\n 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:\n 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:\n 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:\n 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:\n 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:\n 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:\n 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:\n 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:\n 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
inline

Returns an iterator pointing to the first subdim-face.

Returns
an iterator at the beginning of this list.

◆ DegreeGreaterThan() [1/2]

template<int dim, int subdim>
regina::DegreeGreaterThan< dim, subdim >::DegreeGreaterThan ( const DegreeGreaterThan< dim, subdim > &  )
default

Creates a new clone of the given function object.

◆ DegreeGreaterThan() [2/2]

template<int dim, int subdim>
regina::DegreeGreaterThan< dim, subdim >::DegreeGreaterThan ( const Triangulation< dim > &  tri)
inline

Constructions a function object for working with faces of the given triangulation.

Parameters
trithe triangulation with which we are working.

◆ DegreeLessThan() [1/2]

template<int dim, int subdim>
regina::DegreeLessThan< dim, subdim >::DegreeLessThan ( const DegreeLessThan< dim, subdim > &  )
default

Creates a new clone of the given function object.

◆ DegreeLessThan() [2/2]

template<int dim, int subdim>
regina::DegreeLessThan< dim, subdim >::DegreeLessThan ( const Triangulation< dim > &  tri)
inline

Constructions a function object for working with faces of the given triangulation.

Parameters
trithe triangulation with which we are working.

◆ 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
inline

Returns an iterator pointing beyond the last subdim-face.

Returns
an iterator beyond the end of this list.

◆ Face() [1/3]

template<int dim, int subdim>
regina::Face< dim, subdim >::Face ( Component< dim > *  component)
inlineprotected

Creates a new face.

Parameters
componentthe component of the underlying triangulation to which the new face belongs.

◆ Face() [2/3]

template<int dim>
regina::Face< dim, dim >::Face ( const std::string &  desc,
Triangulation< dim > *  tri 
)
inlineprotected

Creates a new simplex with the given description and no facets joined to anything.

Parameters
descthe description to give the new simplex.
trithe triangulation to which the new simplex belongs.

◆ Face() [3/3]

template<int dim>
regina::Face< dim, dim >::Face ( Triangulation< dim > *  tri)
inlineprotected

Creates a new simplex with no description and no facets joined to anything.

Parameters
trithe triangulation to which the new simplex belongs.

◆ FaceEmbedding() [1/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( )
default

Default constructor.

This object is unusable until it has some data assigned to it using operator =.

Python:\n Not present.

◆ FaceEmbedding() [2/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( const FaceEmbedding< dim, subdim > &  cloneMe)
default

Creates a new copy of the given object.

Parameters
cloneMethe object to copy.

◆ FaceEmbedding() [3/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( Simplex< dim > *  simplex,
int  face 
)
inline

Creates a new object containing the given data.

Parameters
simplexthe top-dimensional simplex in which the underlying subdim-face of the triangulation is contained.
facethe corresponding face number of simplex. This must be between 0 and (dim+1 choose subdim+1)-1 inclusive.

◆ FaceList()

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

Creates an empty list of subdim-faces.

◆ FacetPairing() [1/2]

template<int dim>
regina::FacetPairing< dim >::FacetPairing ( const FacetPairing< dim > &  cloneMe)
inline

Creates a new clone of the given facet pairing.

Parameters
cloneMethe facet pairing to clone.

◆ FacetPairing() [2/2]

template<int dim>
regina::FacetPairing< dim >::FacetPairing ( const Triangulation< dim > &  tri)
inline

Creates the dual graph of the given triangulation.

This is the facet pairing that describes how the facets of simplices in the given triangulation are joined together, as described in the class notes.

Precondition
The given triangulation is not empty.
Parameters
trithe triangulation whose facet pairing should be constructed.

◆ Isomorphism() [1/3]

template<int dim>
regina::Isomorphism< dim >::Isomorphism ( const Isomorphism< dim > &  src)
default

Creates a copy of the given isomorphism.

Parameters
srcthe isomorphism to copy.

◆ Isomorphism() [2/3]

template<int dim>
regina::Isomorphism< dim >::Isomorphism ( Isomorphism< dim > &&  src)
defaultnoexcept

Moves the given isomorphism into this new isomorphism.

This is a fast (constant time) operation.

The isomorphism that is passed (src) will no longer be usable.

Parameters
srcthe isomorphism to move.

◆ Isomorphism() [3/3]

template<int dim>
regina::Isomorphism< dim >::Isomorphism ( unsigned  nSimplices)
inline

Creates a new isomorphism with no initialisation.

The images of the simplices and their vertices must be explicitly set using simpImage() and facetPerm().

Python:\n Not present.
Parameters
nSimplicesthe number of simplices in the source triangulation associated with this isomorphism. This is allowed to be zero.

◆ operator()() [1/2]

template<int dim, int subdim>
bool regina::DegreeLessThan< dim, subdim >::operator() ( unsigned  a,
unsigned  b 
) const
inline

Compares the degrees of the subdim-dimensional faces at the given indices within the working triangulation.

The triangulation that is used will be the one that was passed to the class constructor.

Precondition
Both a and b are non-negative, and are strictly less than the total number of subdim-dimensional faces in the triangulation.
Parameters
athe index of the first subdim-dimensional face within the triangulation.
bthe index of the second subdim-dimensional face within the triangulation.
Returns
true if and only if face a has smaller degree than face b within the given triangulation.

◆ operator()() [2/2]

template<int dim, int subdim>
bool regina::DegreeGreaterThan< dim, subdim >::operator() ( unsigned  a,
unsigned  b 
) const
inline

Compares the degrees of the subdim-dimensional faces at the given indices within the working triangulation.

The triangulation that is used will be the one that was passed to the class constructor.

Precondition
Both a and b are non-negative, and are strictly less than the total number of subdim-dimensional faces in the triangulation.
Parameters
athe index of the first subdim-dimensional face within the triangulation.
bthe index of the second subdim-dimensional face within the triangulation.
Returns
true if and only if face a has greater degree than face b within the given triangulation.

◆ operator=()

template<int dim, int subdim>
FaceEmbedding& regina::FaceEmbedding< dim, subdim >::operator= ( const FaceEmbedding< dim, subdim > &  cloneMe)
default

Sets this to be a copy of the given object.

Parameters
cloneMethe object to copy.

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

◆ Triangulation() [1/3]

template<int dim>
regina::Triangulation< dim >::Triangulation
inline

Default constructor.

Creates an empty triangulation.

◆ Triangulation() [2/3]

template<int dim>
regina::Triangulation< dim >::Triangulation ( const Triangulation< dim > &  copy)
inline

Creates a new copy of the given triangulation.

The packet tree structure and packet label are not copied.

This will clone any computed properties (such as homology, fundamental group, and so on) of the given triangulation also. If you want a "clean" copy that resets all properties to unknown, you can use the two-argument copy constructor instead.

Parameters
copythe triangulation to copy.

◆ Triangulation() [3/3]

template<int dim>
regina::Triangulation< dim >::Triangulation ( const Triangulation< dim > &  copy,
bool  cloneProps 
)
inline

Creates a new copy of the given triangulation, with the option of whether or not to clone its computed properties also.

Parameters
copythe triangulation to copy.
clonePropstrue if this should also clone any computed properties of the given triangulation (such as homology, fundamental group, and so on), or false if the new triangulation should have all properties marked as unknown.

◆ ~Triangulation()

template<int dim>
regina::Triangulation< dim >::~Triangulation
inlinevirtual

Destroys this triangulation.

The constituent simplices, the cellular structure and all other properties will also be destroyed.


Copyright © 1999-2018, 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).