regina::detail::FaceNumberingAPI< dim, subdim > Class Template Reference
Implementation details

Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>. More...

`#include <triangulation/detail/facenumbering.h>`

Inheritance diagram for regina::detail::FaceNumberingAPI< dim, subdim >:

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

## Detailed Description

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

Python:\n 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 Face dim_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.
  lex | `true` if faces are numbered in lexicographical order according to their vertices (the scheme for low-dimensional faces), or `false` if faces are numbered in reverse lexicographical order (the scheme for high-dimensional faces). The value of this parameter is forced by dim and subdim; its purpose is to help with template specialisations.

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

- triangulation/detail/facenumbering.h

Copyright © 1999-2016, 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).