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

Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More...

#include <triangulation/generic.h>

Inheritance diagram for regina::FaceEmbedding< dim, subdim >:
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 >

Public Member Functions

 FaceEmbedding ()
 Default constructor. More...
 
 FaceEmbedding (Simplex< dim > *simplex, int face)
 Creates a new object containing the given data. More...
 
 FaceEmbedding (const FaceEmbedding &cloneMe)
 Creates a new 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::FaceEmbedding< dim, subdim >

Details how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex.

For small-dimensional faces, this class is typically described using dimension-specific type aliases: VertexEmbedding<dim>, EdgeEmbedding<dim>, TriangleEmbedding<dim>, TetrahedronEmbedding<dim> and PentachoronEmbedding<dim> refer to the cases subdim = 0, 1, 2, 3 and 4 respectively.

For a dim-dimensional triangulation T, each subdim-face F typically belongs to many top-dimensional simplices of T, and therefore has many associated FaceEmbedding objects. These individual FaceEmbedding objects correspond to the top-dimensional simplices of the link of F (which is a (dim - subdim - 1)-dimensional triangulation).

If dim is one of Regina's standard dimensions, then this template is specialised to offer additional dimension-specific aliases. In order to use these specialised classes, you will need to include the corresponding triangulation headers (e.g., triangulation/dim2.h for dim = 2, or triangulation/dim3.h for dim = 3).

Python:
Python does not support templates. Instead this class can be used by appending dimensions dim and subdim as suffices (e.g., FaceEmbedding2_1 and FaceEmbedding3_0 for the two examples above).
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

§ FaceEmbedding() [1/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( )
inline

Default constructor.

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

Python:
Not present.

§ FaceEmbedding() [2/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( 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.

§ FaceEmbedding() [3/3]

template<int dim, int subdim>
regina::FaceEmbedding< dim, subdim >::FaceEmbedding ( const FaceEmbedding< 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
inlineinherited

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
inlineinherited

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>
bool regina::detail::FaceEmbeddingBase< dim, subdim >::operator== ( const FaceEmbeddingBase< dim, subdim > &  rhs) const
inlineinherited

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
inlineinherited

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
inlineinherited

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
inlineinherited

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 files:

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