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

Helper class that provides core functionality for describing how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...

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

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

## Public Member Functions

| FaceEmbeddingBase ()
| Default constructor. More...
| FaceEmbeddingBase (Simplex< dim > *simplex, int face)
| Creates a new object containing the given data. More...
| FaceEmbeddingBase (const FaceEmbeddingBase &cloneMe)
| Creates a new copy of the given object. More...
FaceEmbeddingBase & | operator= (const FaceEmbeddingBase &cloneMe)
| Makes this a copy of the given object. More...
Simplex< dim > * | simplex () const
| Returns the top-dimensional simplex in which the underlying subdim-face of the triangulation is contained. More...
int | face () const
| Returns the corresponding face number of simplex(). More...
Perm< dim+1 > | vertices () const
| Maps vertices (0,...,subdim) of the underlying subdim-face of the triangulation to the corresponding vertex numbers of simplex(). More...
bool | operator== (const FaceEmbeddingBase &rhs) const
| Tests whether this and the given object are identical. More...
bool | operator!= (const FaceEmbeddingBase &rhs) const
| Tests whether this and the given object are different. More...
void | writeTextShort (std::ostream &out) const
| Writes a short text representation of this object to the given output stream. More...
void | writeTextLong (std::ostream &out) const
| A default implementation for detailed output. More...
std::string | str () const
| Returns a short text representation of this object. More...
std::string | utf8 () const
| Returns a short text representation of this object using unicode characters. More...
std::string | detail () const
| Returns a detailed text representation of this object. More...

## Detailed Description

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

## Constructor & Destructor Documentation

## FaceEmbeddingBase() [1/3]

template<int dim, int subdim>

regina::detail::FaceEmbeddingBase< dim, subdim >::FaceEmbeddingBase | ( |  | ) |

inline

Default constructor.

This object is unusable until it has some data assigned to it using `operator =`.

Python:
  Not present.

## FaceEmbeddingBase() [2/3]

template<int dim, int subdim>

regina::detail::FaceEmbeddingBase< dim, subdim >::FaceEmbeddingBase | ( | Simplex< dim > * | simplex,
|  | int | face
| ) |  |

inline

Creates a new object containing the given data.

Parameters

  simplex | the top-dimensional simplex in which the underlying subdim-face of the triangulation is contained.
  face | the corresponding face number of simplex. This must be between 0 and (dim+1 choose subdim+1)-1 inclusive.

## FaceEmbeddingBase() [3/3]

template<int dim, int subdim>

regina::detail::FaceEmbeddingBase< dim, subdim >::FaceEmbeddingBase | ( | const FaceEmbeddingBase< dim, subdim > & | cloneMe | ) |

inline

Creates a new copy of the given object.

Parameters

  cloneMe | the object to copy.

## Member Function Documentation

## detail()

std::string regina::Output< FaceEmbeddingBase< dim, subdim > , supportsUtf8 >::detail | ( |  | ) | const

inherited

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.

## face()

template<int dim, int subdim>

int regina::detail::FaceEmbeddingBase< dim, subdim >::face | ( |  | ) | const

inline

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.

Returns
  the corresponding face number of the top-dimensional simplex. This will be between 0 and (dim+1 choose subdim+1)-1 inclusive.

## operator!=()

template<int dim, int subdim>

bool regina::detail::FaceEmbeddingBase< dim, subdim >::operator!= | ( | const FaceEmbeddingBase< dim, subdim > & | rhs | ) | const

inline

Tests whether this and the given object are different.

Here "different" means that they do not refer to the same face of the same top-dimensional simplex.

Parameters

  rhs | the object to compare with this.

Returns
  `true` if and only if both object are identical.

## operator=()

template<int dim, int subdim>

FaceEmbeddingBase< dim, subdim > & regina::detail::FaceEmbeddingBase< dim, subdim >::operator= | ( | const FaceEmbeddingBase< dim, subdim > & | cloneMe | ) |

inline

Makes this a copy of the given object.

Parameters

  cloneMe | the object to copy.

## operator==()

template<int dim, int subdim>

bool regina::detail::FaceEmbeddingBase< dim, subdim >::operator== | ( | const FaceEmbeddingBase< dim, subdim > & | rhs | ) | const

inline

Tests whether this and the given object are identical.

Here "identical" means that they refer to the same face of the same top-dimensional simplex.

Parameters

  rhs | the object to compare with this.

Returns
  `true` if and only if both object are identical.

## simplex()

template<int dim, int subdim>

Simplex< dim > * regina::detail::FaceEmbeddingBase< dim, subdim >::simplex | ( |  | ) | const

inline

Returns the top-dimensional simplex in which the underlying subdim-face of the triangulation is contained.

Returns
  the top-dimensional simplex.

## str()

std::string regina::Output< FaceEmbeddingBase< dim, subdim > , supportsUtf8 >::str | ( |  | ) | const

inherited

Returns a short text representation of this object.

This text should be human-readable, should fit on a single line, and should not end with a newline. Where possible, it should use plain ASCII characters.

Python:
  In addition to str(), this is also used as the Python "stringification" function `__str__()`.

Returns
  a short text representation of this object.

## utf8()

std::string regina::Output< FaceEmbeddingBase< dim, subdim > , supportsUtf8 >::utf8 | ( |  | ) | const

inherited

Returns a short text representation of this object using unicode characters.

Like str(), this text should be human-readable, should fit on a single line, and should not end with a newline. In addition, it may use unicode characters to make the output more pleasant to read. This string will be encoded in UTF-8.

Returns
  a short text representation of this object.

## vertices()

template<int dim, int subdim>

Perm< dim+1 > regina::detail::FaceEmbeddingBase< dim, subdim >::vertices | ( |  | ) | const

inline

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())`. See Simplex<dim>::faceMapping() for details.

Returns
  a mapping from the vertices of the underlying subdim-face to the corresponding vertices of simplex().

## writeTextLong()

void regina::ShortOutput< FaceEmbeddingBase< dim, subdim > , false >::writeTextLong | ( | std::ostream & | out | ) | const

inline inherited

A default implementation for detailed output.

This routine simply calls T::writeTextShort() and appends a final newline.

Python:
  Not present.

Parameters

  out | the output stream to which to write.

## writeTextShort()

template<int dim, int subdim>

void regina::detail::FaceEmbeddingBase< dim, subdim >::writeTextShort | ( | std::ostream & | out | ) | const

inline

Writes a short text representation of this object to the given output stream.

Python:
  Not present.

Parameters

  out | the output stream to which to write.

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

- triangulation/detail/face.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).