Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>.
More...
template<int dim, int subdim>
class regina::detail::FaceNumberingAPI< dim, subdim >
Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>.
This class exists mainly to help with documentation.
The class FaceNumbering<dim, subdim> details how the subdim-faces of a dim-dimensional simplex are numbered. Its implementation involves many template specialisations, and so this base class FaceNumberingAPI serves to put all the documentation and class constants 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.
See the FaceNumbering template class notes for further information, including details of how the face numbering scheme works.
- Python
- This base class is not present, and neither is FaceNumbering<dim, subdim>. Python users can access these routines through the class Face<dim, subdim> (which in Python becomes Facedim_subdim, or one of the type aliases such as Vertex3, Edge2 and so on).
- Template Parameters
-
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. |
template<int dim, int subdim>
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>():
- ordering() is a static function, which returns the same permutation for the same face number, regardless of which dim-simplex we are looking at. The images of 0,...,subdim will always appear in increasing order, and the images of (subdim + 1),...,dim will be arbitrary.
- faceMapping() examines the underlying face F of the triangulation and, across all appearances of F in different dim-simplices: (i) chooses the images of 0,...,subdim to map to the same respective vertices of F; and (ii) chooses the images of (subdim + 1),...,dim to maintain a "consistent
orientation" constraint.
- Parameters
-
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. |
- Returns
- the corresponding canonical ordering of the simplex vertices.