Regina Calculation Engine
Classes | List of all members
regina::Triangulation< dim > Class Template Reference

A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets. More...

#include <triangulation/generic.h>

Public Member Functions

Constructors and Destructors
 Triangulation ()
 Default constructor. More...
 
 Triangulation (const Triangulation &copy)
 Creates a new copy of the given triangulation. More...
 
 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 ~Triangulation ()
 Destroys this triangulation. More...
 

Packet Administration

class detail::SimplexBase< dim >
 
class detail::TriangulationBase< dim >
 
virtual void writeTextShort (std::ostream &out) const override
 
virtual void writeTextLong (std::ostream &out) const override
 
virtual bool dependsOnParent () const override
 
static XMLPacketReaderxmlReader (Packet *parent, XMLTreeResolver &resolver)
 
virtual PacketinternalClonePacket (Packet *parent) const override
 
virtual void writeXMLPacketData (std::ostream &out) const override
 

Detailed Description

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

A dim-dimensional triangulation, built by gluing together dim-dimensional simplices along their (dim-1)-dimensional facets.

Typically (but not necessarily) such triangulations are used to represent dim-manifolds.

Such triangulations are not the same as pure simplicial complexes, for two reasons:

Amongst other things, this definition is general enough to capture any reasonable definition of a dim-manifold triangulation. However, there is no requirement that a triangulation must actually represent a manifold (and indeed, testing this condition is undecidable for sufficiently large dim).

You can construct a triangulation from scratch using routines such as newSimplex() and Simplex<dim>::join(). There are also routines for importing and exporting triangulations in bulk, such as isoSig() and fromIsoSig() (which uses isomorphism signatures), or insertConstruction() and dumpConstruction() (which exports C++ code).

In additional to top-dimensional simplices, this class also tracks:

Such objects are temporary: whenever the triangulation changes, they will be deleted and rebuilt, and any pointers to them will become invalid. Likewise, if the triangulation is deleted then all component objects will be deleted alongside it.

For Regina's standard dimensions, this template is specialised and offers much more functionality. In order to use these specialised classes, you will need to include the corresponding headers (e.g., triangulation/dim2.h for dim = 2, or triangulation/dim3.h for dim = 3).

Python:\n Python does not support templates. Instead
this class can be used by appending the dimension as a suffix (e.g., Triangulation2 and Triangulation3 for dimensions 2 and 3).
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.

The documentation for this class was generated from the following files:

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