Regina Calculation Engine
Static Public Member Functions | List of all members
regina::detail::PachnerHelper< dim, k > Struct Template Reference

Internal class used to perform Pachner moves on a triangulation. More...

#include <triangulation/detail/triangulation.h>

Static Public Member Functions

static bool pachner (Triangulation< dim > *tri, Face< dim, k > *f, bool check, bool perform)
 Performs a (dim - k + 1)-(k + 1) move about the given face. More...
 

Detailed Description

template<int dim, int k>
struct regina::detail::PachnerHelper< dim, k >

Internal class used to perform Pachner moves on a triangulation.

Specifically, this class performs (dim - k + 1)-(k + 1) moves about k-faces of dim-dimensional triangulations.

Pachner moves are implemented in a separate class (i.e., this class) instead of TriangulationBase because we wish to offer specialised implementations for certain facial dimensions k, and C++ does not allow partial specialisation of functions.

Template Parameters
dimthe dimension of the underlying triangulation.
kthe dimension of the faces about which to perform Pachner moves.

Member Function Documentation

◆ pachner()

template<int dim, int k>
static bool regina::detail::PachnerHelper< dim, k >::pachner ( Triangulation< dim > *  tri,
Face< dim, k > *  f,
bool  check,
bool  perform 
)
static

Performs a (dim - k + 1)-(k + 1) move about the given face.

This routine contains the real implementation of TriangulationBase::pachner<k>(); see that routine for further details.

Precondition
If the move is being performed and no check is being run, it must be known in advance that the move is legal.
The given k-face is a k-face of the given triangulation.
Parameters
trithe triangulation upon which to perform the Pachner move.
fthe specific k-face about which to perform the move.
checktrue if the move should be tested for eligibility.
performtrue if the move should actually be performed.
Returns
If check is true, this function returns true if and only if the requested move may be performed without changing the topology of the manifold. If check is false, this function simply returns true.

The documentation for this struct 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).