Regina Calculation Engine
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
regina::detail::BoundaryComponentFaceStorage< dim, allFaces_ > Class Template Reference

Helper class for storing the necessary faces of a boundary component of a dim-dimensional triangulation. More...

#include <triangulation/detail/boundarycomponent.h>

Inheritance diagram for regina::detail::BoundaryComponentFaceStorage< dim, allFaces_ >:
regina::detail::WeakFaceListSuite< dim, dim - 1 > regina::alias::FacesOfTriangulation< BoundaryComponentFaceStorage< dim, true >, dim > regina::alias::FaceOfTriangulation< BoundaryComponentFaceStorage< dim, true >, dim > regina::detail::WeakFaceList< dim, subdim >

Public Member Functions

size_t size () const
 Returns the number of (dim-1)-faces in this boundary component. More...
 
size_t countRidges () const
 Returns the number of (dim-2)-faces in this boundary component. More...
 
template<int subdim>
size_t countFaces () const
 Returns the number of subdim-faces in this boundary component. More...
 
const std::vector< Face< dim, dim-1 > * > & facets () const
 Returns all (dim-1)-faces in this boundary component. More...
 
template<int subdim>
const std::vector< Face< dim, subdim > * > & faces () const
 Returns all subdim-faces in this boundary component. More...
 
Face< dim, dim-1 > * facet (size_t index) const
 Returns the requested (dim-1)-face in this boundary component. More...
 
template<int subdim>
Face< dim, subdim > * face (size_t index) const
 Returns the requested subdim-face in this boundary component. More...
 
Triangulation< dim > * triangulation () const
 Returns the triangulation to which this boundary component belongs. More...
 
Component< dim > * component () const
 Returns the connected component of the triangulation to which this boundary component belongs. More...
 

Static Public Attributes

static constexpr bool allFaces = true
 A compile-time constant indicating whether this boundary component class stores all lower-dimensional faces (true), or only faces of dimension dim-1 (false). More...
 

Protected Member Functions

template<int subdim>
void push_back (Face< dim, subdim > *face)
 Pushes the given face onto the end of the list of subdim-faces of this boundary component. More...
 
void reorderAndRelabelFaces (Triangulation< dim-1 > *tri) const
 Reorders all lower-dimensional faces of the given triangulation so that they appear in the same order as the corresponding faces of this boundary component, and relabels these faces so that their vertices are numbered in a corresponding way. More...
 
void reorderAndRelabelFaces (Triangulation< tridim > *tri, const std::vector< Face< dim, tridim > * > &tridimFaces) const
 Reorders and relabels all faces of all dimensions 0,...,subdim of the given triangulation, so that for each k, the k-faces of the given triangulation appear in the same order as the corresponding k-faces in this suite, and have their vertices numbered in a corresponding way. More...
 

Protected Attributes

std::vector< Face< dim, subdim > * > faces_
 The list of faces. More...
 

Detailed Description

template<int dim, bool allFaces_>
class regina::detail::BoundaryComponentFaceStorage< dim, allFaces_ >

Helper class for storing the necessary faces of a boundary component of a dim-dimensional triangulation.

Every class BoundaryComponent<dim> inherits from this template.

Python:\n This base class is not present, but the "end user" class
BoundaryComponent<dim> is.
Template Parameters
dimthe dimension of the underlying triangulation. This must be between 2 and 15 inclusive.
allFaces_true if this class should store all faces of all dimensions 0,1,...,dim-1, or false if this class should only store faces of dimension dim-1.

Member Function Documentation

◆ reorderAndRelabelFaces()

void regina::detail::WeakFaceListSuite< dim, subdim >::reorderAndRelabelFaces ( Triangulation< tridim > *  tri,
const std::vector< Face< dim, tridim > * > &  tridimFaces 
) const
inlineprotectedinherited

Reorders and relabels all faces of all dimensions 0,...,subdim of the given triangulation, so that for each k, the k-faces of the given triangulation appear in the same order as the corresponding k-faces in this suite, and have their vertices numbered in a corresponding way.

Precondition
For each dimension k = 0,...,subdim, the k-faces of the given triangulation tri are in one-to-one correspondence with the k-faces in this suite, though not necessarily in the same order. Moreover, for each i and j, this correspondence maps the ith k-face of tri->simplex(j) to the ith k-face of tridimFaces[j].
Template Parameters
tridimthe dimension of the given triangulation. This must be strictly larger than subdim, but it need not be equal to dim.
Parameters
tria tridim-dimensional triangulation, as described above.
tridimFacesa list of tridim-faces that together contain all of the faces in this suite, and that are in an ordered one-to-one correspondence with the top-dimensional simplices of tri as described in the precondition above.

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