template<int dim, int subdim>
class regina::detail::FaceEmbeddingBase< dim, subdim >
Helper class that provides core functionality for describing how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex.
Each such appearance is described by a FaceEmbedding<dim, subdim> object, which uses this as a base class. End users should not need to refer to FaceEmbeddingBase directly.
See the FaceEmbedding template class notes for further information.
- Python
- This base class is not present, but the "end user" class FaceEmbedding<dim, subdim> is.
- Template Parameters
-
dim | the dimension of the underlying triangulation. This must be between 2 and 15 inclusive. |
subdim | the dimension of the faces of the underlying triangulation. This must be between 0 and dim-1 inclusive. |
template<class T , bool supportsUtf8 = false>
Returns a detailed text representation of this object.
This text may span many lines, and should provide the user with all the information they could want. It should be human-readable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.
- Returns
- a detailed text representation of this object.
template<int dim, int subdim>
Returns the corresponding face number of simplex().
This identifies which face of the top-dimensional simplex simplex() refers to the underlying subdim-face of the triangulation.
If the face dimension subdim is at most 4, then you can also access this face number through a dimension-specific alias (e.g., edge() in the case subdim = 1).
- Returns
- the corresponding face number of the top-dimensional simplex. This will be between 0 and (dim+1 choose subdim+1)-1 inclusive.
template<int dim, int subdim>
Tests whether this and the given object are not identical.
Here identical means that two FaceEmbedding objects refer to the same-numbered face of the same-numbered simplex, and have the same embedding permutations as returned by vertices().
In particular, since this test only examines face/simplex/vertex numbers (not object pointers), it is meaningful to compare two FaceEmbedding objects from different underlying triangulations.
- Warning
- The meaning of this comparison changed in Regina 7.0. In older versions of Regina, to compare as equal, two FaceEmbedding objects (i) had to be faces of the same Simplex object (a stronger requirement that effectively restricted this test to faces of the same triangulation); but also (ii) only had to refer to the same-numbered face, not use the same full embedding permutations (a weaker requirement that nowadays would incur an unacceptable performance cost).
- Parameters
-
rhs | the object to compare with this. |
- Returns
true
if and only if both object are identical.
template<int dim, int subdim>
Tests whether this and the given object are identical.
Here identical means that two FaceEmbedding objects refer to the same-numbered face of the same-numbered simplex, and have the same embedding permutations as returned by vertices().
In particular, since this test only examines face/simplex/vertex numbers (not object pointers), it is meaningful to compare two FaceEmbedding objects from different underlying triangulations.
- Warning
- The meaning of this comparison changed in Regina 7.0. In older versions of Regina, to compare as equal, two FaceEmbedding objects (i) had to be faces of the same Simplex object (a stronger requirement that effectively restricted this test to faces of the same triangulation); but also (ii) only had to refer to the same-numbered face, not use the same full embedding permutations (a weaker requirement that nowadays would incur an unacceptable performance cost).
- Parameters
-
rhs | the object to compare with this. |
- Returns
true
if and only if both object are identical.
template<class T , bool supportsUtf8 = false>
Returns a short text representation of this object.
This text should be human-readable, should use plain ASCII characters where possible, and should not contain any newlines.
Within these limits, this short text ouptut should be as information-rich as possible, since in most cases this forms the basis for the Python str()
and repr()
functions.
- Python
- The Python "stringification" function
str()
will use precisely this function, and for most classes the Python repr()
function will incorporate this into its output.
- Returns
- a short text representation of this object.
template<class T , bool supportsUtf8 = false>
Returns a short text representation of this object using unicode characters.
Like str(), this text should be human-readable, should not contain any newlines, and (within these constraints) should be as information-rich as is reasonable.
Unlike str(), this function may use unicode characters to make the output more pleasant to read. The string that is returned will be encoded in UTF-8.
- Returns
- a short text representation of this object.
template<int dim, int subdim>
Maps vertices (0,...,subdim) of the underlying subdim-face of the triangulation to the corresponding vertex numbers of simplex().
If the link of the underlying subdim-face is orientable, then this permutation also maps (subdim+1, ..., dim) to the remaining vertex numbers of simplex() in a manner that preserves orientation as you walk through the many different FaceEmbedding objects for the same underlying subdim-face.
This routine returns the same permutation as simplex().faceMapping<subdim>(face())
(and this routine is faster if you already have a FaceEmbedding). See Simplex<dim>::faceMapping() for details.
- Returns
- a mapping from the vertices of the underlying subdim-face to the corresponding vertices of simplex().