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

Helper class for storing all the ways in which a given face of codimension codim in a dim-dimensional triangulation appears within the various top-dimensional simplices. More...

#include <triangulation/detail/face.h>

Public Member Functions

size_t degree () const
 Returns the degree of this face. More...
 
const FaceEmbedding< dim, dim - codim > & embedding (size_t index) const
 Returns one of the ways in which this face appears within a top-dimensional simplex of the underlying triangluation. More...
 
std::vector< FaceEmbedding< dim, dim - codim > >::const_iterator begin () const
 A begin function for iterating through all appearances of this face within the various top-dimensional simplices of the underlying triangulation. More...
 
std::vector< FaceEmbedding< dim, dim - codim > >::const_iterator end () const
 An end function for iterating through all appearances of this face within the various top-dimensional simplices of the underlying triangulation. More...
 
const FaceEmbedding< dim, dim - codim > & front () const
 Returns the first appearance of this face within a top-dimensional simplex of the underlying triangluation. More...
 
const FaceEmbedding< dim, dim - codim > & back () const
 Returns the last appearance of this face within a top-dimensional simplex of the underlying triangluation. More...
 
bool inMaximalForest () const
 Determines whether a codimension-1-face represents a dual edge in the maximal forest that has been chosen for the dual 1-skeleton of the triangulation. More...
 
 FaceStorage (const FaceStorage &)=delete
 
FaceStorageoperator= (const FaceStorage &)=delete
 

Protected Member Functions

 FaceStorage ()=default
 Default constructor that leaves the list of embeddings empty. More...
 
void push_back (const FaceEmbedding< dim, dim - codim > &emb)
 Internal routine to help build the skeleton of a triangulation. More...
 

Detailed Description

template<int dim, int codim>
class regina::detail::FaceStorage< dim, codim >

Helper class for storing all the ways in which a given face of codimension codim in a dim-dimensional triangulation appears within the various top-dimensional simplices.

In essence, this class provides the data structures which which a Face object stores its list of corresponding FaceEmbedding objects. All the routines in this class are inherited by Face, and so end users should not need to refer to FaceStorage directly.

The reason these data structrues belong to a separate class FaceStorage (as opposed to be being integrated directly into Face or FaceBase) is so that Regina can use different data structures for different codimensions.

See the Face and FaceEmbedding template class notes for further information.

Warning
The second template parameter is the codimension of the face, not the dimension of the face. This means that Face<dim, subdim> inherits from FaceStorage<dim, dim - codim>. This inconsistency arises because it is the codimension of the face that determines what data structures we use.
Python
This base class is not present, but the "end user" class Face<dim, subdim> is.
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.
codimthe codimension of the faces of the underlying triangulation. This must be between 1 and dim inclusive.

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

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