Regina Calculation Engine
|
Helper class for querying the faces of a boundary component of a dim-dimensional triangulation. More...
#include <triangulation/detail/boundarycomponent.h>
Public Member Functions | |
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 |
Writes a detailed text representation of this object to the given output stream. More... | |
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... | |
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... | |
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... | |
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 | allowVertex = false |
A compile-time constant indicating whether ideal and/or invalid vertex boundary components are both possible and recognised by this boundary component class. More... | |
static constexpr bool | allFaces |
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 | |
constexpr const Triangulation< dim-1 > * | buildVertexLink () const |
Always returns null . More... | |
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... | |
Helper class for querying the faces of a boundary component of a dim-dimensional triangulation.
See the general BoundaryComponentFaceInterface template notes for further details.
This specialisation is used for dimensions in which only real boundary components are supported - that is, ideal and/or invalid vertex boundary components are either not recognised or not possible. It therefore removes the member functions that query ideal and/or invalid vertices.
|
inlineinherited |
Returns the connected component of the triangulation to which this boundary component belongs.
|
inlineinherited |
Returns the number of subdim-faces in this boundary component.
This routine is only available where dim is one of Regina's standard dimensions.
countFaces(subdim)
; that is, the template parameter subdim becomes the first argument of the function.subdim | the dimension of the faces to query. This must be between 0 and dim-1 inclusive. |
|
inlineinherited |
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.
|
inlineinherited |
Returns the requested subdim-face in this 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, if this is a real boundary component (i.e., it is built from one or more (dim-1)-faces), then the index of each subdim-face in this boundary component will match the index of the corresponding subdim-face in the (dim-1)-manifold triangulation returned by build().
This routine is only available where dim is one of Regina's standard dimensions.
face(subdim, index)
; that is, the template parameter subdim becomes the first argument of the function.subdim | the dimension of the face to query. This must be between 0 and dim-1 inclusive. |
index | the index of the desired face, ranging from 0 to countFaces<subdim>()-1 inclusive. |
|
inlineinherited |
Returns all subdim-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).
faces(subdim)
. It will then return a Python list containing all the subdim-faces of the boundary component. Be warned that, unlike in C++, this Python list will be a snapshot of the faces when this function is called, and will not be kept up-to-date as the triangulation changes.subdim | the dimension of the faces to query. This must be between 0 and dim-1 inclusive. |
|
inlineinherited |
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, if this is a real boundary component (i.e., it is built from one or more (dim-1)-faces), then 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().
index | the index of the desired face, ranging from 0 to size()-1 inclusive. |
|
inlineinherited |
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).
|
inlineprotectedinherited |
Pushes the given face onto the end of the list of subdim-faces of this boundary component.
This class does not take ownership of the given face.
subdim | the dimension of the face to append. This must be between 0 and dim-1 inclusive. |
face | the face to append to the list. |
|
inlineprotectedinherited |
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).
tri | a triangulation of this boundary component, as described above. |
|
inlineinherited |
Returns the number of (dim-1)-faces in this boundary component.
These are the top-dimensional faces for a real boundary component.
If this is an ideal or invalid vertex boundary component, then this routine will return 0.
|
inlineinherited |
Returns the triangulation to which this boundary component belongs.
|
staticconstexprinherited |
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.