Regina Calculation Engine
|
Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>.
More...
#include <triangulation/detail/facenumbering.h>
Static Public Member Functions | |
static Perm< dim+1 > | ordering (unsigned face) |
Given a subdim-face number within a dim-dimensional simplex, returns the corresponding canonical ordering of the simplex vertices. More... | |
static unsigned | faceNumber (Perm< dim+1 > vertices) |
Identifies which subdim-face in a dim-dimensional simplex is represented by the first (subdim + 1) elements of the given permutation. More... | |
static bool | containsVertex (unsigned face, unsigned vertex) |
Tests whether the given subdim-face of a dim-dimensional simplex contains the given vertex of the simplex. More... | |
Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>.
This class exists merely to help with documentation.
The class FaceNumbering<dim, subdim> details how the subdim-faces of a dim-dimensional simplex are numbered. Its implementation is complex and involves many template specialisations, and so this base class FaceNumberingAPI serves to put all the documentation in one place.
End users should access the numbering scheme through either FaceNumbering<dim, subdim> or its child class Face<dim, subdim>. There is no need to refer to FaceNumberingAPI directly.
The member functions described here are never implemented in the base class FaceNumberingAPI; instead they are redeclared and implemented in the various specialisations of the child class FaceNumberingImpl.
Note that FaceNumberingAPI documents member functions only. The class FaceNumbering<dim, subdim> provides static constants also (in particular, the constant nFaces).
See the FaceNumbering template class notes for further information, including details of how the face numbering scheme works.
dim | the dimension of the simplex whose faces are being numbered. This must be between 1 and 15 inclusive. |
subdim | the dimension of the faces being numbered. This must be between 0 and dim-1 inclusive. |
|
static |
Tests whether the given subdim-face of a dim-dimensional simplex contains the given vertex of the simplex.
face | a subdim-face number in a dim-simplex; this must be between 0 and (dim+1 choose subdim+1)-1 inclusive. |
vertex | a vertex number in a dim-simplex; this must be between 0 and dim inclusive. |
true
if and only if the given subdim-face contains the given vertex.
|
static |
Identifies which subdim-face in a dim-dimensional simplex is represented by the first (subdim + 1) elements of the given permutation.
In other words, this routine identifies which subdim-face number within a dim-dimensional simplex spans vertices vertices[0, ..., subdim]
.
vertices | a permutation whose first (subdim + 1) elements represent some vertex numbers in a dim-simplex. |
|
static |
Given a subdim-face number within a dim-dimensional simplex, returns the corresponding canonical ordering of the simplex vertices.
If this canonical ordering is c, then c[0,...,subdim] will be the vertices of the given face in increasing numerical order. That is, c[0] < ... < c[subdim]. The remaining images c[(subdim + 1),...,dim] will be ordered arbitrarily.
Note that this is not the same permutation as returned by Simplex<dim>::faceMapping<subdim>():
face | identifies which subdim-face of a dim-dimensional simplex to query. This must be between 0 and (dim+1 choose subdim+1)-1 inclusive. |