Regina Calculation Engine
|
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 ©) | |
Creates a new copy of the given triangulation. More... | |
Triangulation (const Triangulation ©, 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 XMLPacketReader * | xmlReader (Packet *parent, XMLTreeResolver &resolver) |
virtual Packet * | internalClonePacket (Packet *parent) const override |
virtual void | writeXMLPacketData (std::ostream &out) const override |
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).
dim | the dimension of the underlying triangulation. This must be between 2 and 15 inclusive. |