regina::detail::BoundaryComponentFaceStorage< dim, false > Class Template Reference
Implementation details

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

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

## 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...
const std::vector< Face< dim, dim-1 > * > & | facets () const
| Returns all (dim-1)-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...
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 = false
| 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

| BoundaryComponentFaceStorage ()
| Default constructor that initialises the number of ridges to zero. More...
void | push_back (Face< dim, dim-1 > *face)
| Pushes the given face onto the end of the list of (dim-1)-faces of this boundary component. More...
void | push_back (Face< dim, dim-2 > *)
| Increments the number of (dim-2)-faces in this boundary component. More...
template<int subdim>
void | push_back (Face< dim, subdim > *)
| Does nothing, since this boundary component does not store lower-dimensional faces. More...
void | reorderAndRelabelFaces (Triangulation< dim-1 > *) 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...

## Protected Attributes

std::vector< Face< dim, dim-1 > * > | facets_
| List of all (dim-1)-simplices in the boundary component. More...
size_t | nRidges_
| The number of (dim-2)-faces in the boundary component. More...

## Detailed Description

### template<int dim>
class regina::detail::BoundaryComponentFaceStorage< dim, false >

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

See the general BoundaryComponentFaceStorage template notes for further details.

This specialisation is used for dimensions in which only (dim-1)-dimensional faces are stored. It therefore removes the member functions for accessing lower-dimensional faces.

## Constructor & Destructor Documentation

## BoundaryComponentFaceStorage()

template<int dim>

regina::detail::BoundaryComponentFaceStorage< dim, false >::BoundaryComponentFaceStorage | ( |  | ) |

inline protected

Default constructor that initialises the number of ridges to zero.

## Member Function Documentation

## component()

template<int dim>

Component<dim>* regina::detail::BoundaryComponentFaceStorage< dim, false >::component | ( |  | ) | const

inline

Returns the connected component of the triangulation to which this boundary component belongs.

Returns
  the component containing this boundary component.

## countRidges()

template<int dim>

size_t regina::detail::BoundaryComponentFaceStorage< dim, false >::countRidges | ( |  | ) | const

inline

Returns the number of (dim-2)-faces in this boundary component.

If this is an ideal or invalid vertex boundary component, then this routine will return 0.

Returns
  the number of (dim-2)-faces in this boundary component.

## facet()

template<int dim>

Face<dim, dim-1>* regina::detail::BoundaryComponentFaceStorage< dim, false >::facet | ( | size_t | index | ) | const

inline

Returns the requested (dim-1)-face in this boundary component.

These are the top-dimensional faces for a real boundary component.

Note that the index of a face in the boundary component need not be the index of the same face in the overall triangulation. However, the index of each (dim-1)-face in this boundary component will match the index of the corresponding top-dimensional simplex in the (dim-1)-manifold triangulation returned by build().

Parameters

  index | the index of the desired face, ranging from 0 to size()-1 inclusive.

Returns
  the requested face.

## facets()

template<int dim>

const std::vector<Face<dim, dim-1>*>& regina::detail::BoundaryComponentFaceStorage< dim, false >::facets | ( |  | ) | const

inline

Returns all (dim-1)-faces in this boundary component.

The reference that is returned will remain valid only for as long as this boundary component object exists. In particular, the reference will become invalid any time that the triangulation changes (since all boundary component objects will be destroyed and others rebuilt in their place).

Python:
  This routine returns a python list.

Returns
  the list of all (dim-1)-faces.

## push_back() [1/3]

template<int dim>

void regina::detail::BoundaryComponentFaceStorage< dim, false >::push_back | ( | Face< dim, dim-1 > * | face | ) |

inline protected

Pushes the given face onto the end of the list of (dim-1)-faces of this boundary component.

This class does not take ownership of the given face.

Parameters

  face | the face to append to the list.

## push_back() [2/3]

template<int dim>

void regina::detail::BoundaryComponentFaceStorage< dim, false >::push_back | ( | Face< dim, dim-2 > * |  | ) |

inline protected

Increments the number of (dim-2)-faces in this boundary component.

Since this boundary component class does not store any lower-dimensional faces, this routine does not store the given face.

## push_back() [3/3]

template<int dim>
template<int subdim>

void regina::detail::BoundaryComponentFaceStorage< dim, false >::push_back | ( | Face< dim, subdim > * |  | ) |

inline protected

Does nothing, since this boundary component does not store lower-dimensional faces.

Template Parameters

  subdim | the dimension of the given face. This must be between 0 and dim-3 inclusive.

## reorderAndRelabelFaces()

template<int dim>

void regina::detail::BoundaryComponentFaceStorage< dim, false >::reorderAndRelabelFaces | ( | Triangulation< dim-1 > * |  | ) | const

inline protected

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.

This affects all faces of dimensions 0,...,(dim-2).

In this specialised class template, this function does nothing because faces of dimension 0,...,(dim-2) are not stored.

## size()

template<int dim>

size_t regina::detail::BoundaryComponentFaceStorage< dim, false >::size | ( |  | ) | const

inline

Returns the number of (dim-1)-faces in this boundary component.

These are the top-dimensional faces for a real boundary component.

Returns
  the number of (dim-1)-faces in this boundary component.

## triangulation()

template<int dim>

Triangulation<dim>* regina::detail::BoundaryComponentFaceStorage< dim, false >::triangulation | ( |  | ) | const

inline

Returns the triangulation to which this boundary component belongs.

Returns
  the triangulation containing this boundary component.

## Member Data Documentation

## allFaces

template<int dim>

constexpr bool regina::detail::BoundaryComponentFaceStorage< dim, false >::allFaces = false

static

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

This is a compile-time constant only, with no linkage - any attempt to create a reference or pointer to it will give a linker error.

Python:
  Not present.

## facets_

template<int dim>

std::vector<Face<dim, dim-1>*> regina::detail::BoundaryComponentFaceStorage< dim, false >::facets_

protected

List of all (dim-1)-simplices in the boundary component.

## nRidges_

template<int dim>

size_t regina::detail::BoundaryComponentFaceStorage< dim, false >::nRidges_

protected

The number of (dim-2)-faces in the boundary component.

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

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