Regina Calculation Engine
|
Represents a subdim-face in the skeleton of a dim-dimensional triangulation. More...
#include <triangulation/generic.h>
Protected Member Functions | |
Face (Component< dim > *component) | |
Creates a new face. More... | |
Friends | |
class | Triangulation< dim > |
class | detail::TriangulationBase< dim > |
Represents a subdim-face in the skeleton of a dim-dimensional triangulation.
There are two substantially different cases:
For small-dimensional faces, this class is typically described using dimension-specific type aliases: Vertex<dim>, Edge<dim>, Triangle<dim>, Tetrahedron<dim> and Pentachoron<dim> refer to the cases subdim = 0, 1, 2, 3 and 4 respectively.
A given subdim-face F of the triangulation may appear many times within the various top-dimensional simplices of the underlying triangulation. As an extreme example, in a 1-vertex triangulation of a 3-manifold, the single vertex makes 4n such appearances, where n is the total number of tetrahedra.
Each such appearance is described by a single FaceEmbedding object. You can iterate through these appearances using begin() and end(), or using a C++11 range-based for
loop:
You can count these appearances by calling degree(), and you can also examine them using routines such as front(), back() and embedding().
For some types of faces in dimensions dim = 3 and 4, this template is specialised to offer additional functionality. In order to use these specialised classes, you will need to include the corresponding triangulation headers (triangulation/dim3.h or triangulation/dim4.h respectively).
dim | the dimension of the underlying triangulation. This must be between 2 and 15 inclusive. |
subdim | the dimension of the faces that this class represents. This must be between 0 and dim inclusive. |