Regina Calculation Engine
Public Member Functions | List of all members
regina::detail::FaceEmbeddingBase< dim, subdim > Class Template Reference

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 >:
regina::ShortOutput< FaceEmbeddingBase< dim, subdim > > regina::alias::SimplexVoid< FaceEmbeddingBase< dim, subdim >, dim > regina::alias::FaceNumber< FaceEmbeddingBase< dim, subdim >, subdim > regina::Output< FaceEmbeddingBase< dim, subdim >, false > regina::FaceEmbedding< 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...
 
FaceEmbeddingBaseoperator= (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
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.
subdimthe 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
simplexthe top-dimensional simplex in which the underlying subdim-face of the triangulation is contained.
facethe 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
cloneMethe 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
rhsthe 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
cloneMethe 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
rhsthe 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
inlineinherited

A default implementation for detailed output.

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

Python:
Not present.
Parameters
outthe 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
outthe output stream to which to write.

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

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