regina::detail::FaceValidity< true, false > Class Template Reference
Implementation details

Helper class that stores whether a face is valid. More...

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

## Public Member Functions

bool | isValid () const
| Determines if this face is valid. More...
bool | hasBadIdentification () const
| Determines if this face is identified with itself under a non-identity permutation. More...

## Protected Member Functions

| FaceValidity ()
| Initialises this face as valid. More...
void | markBadIdentification ()
| Marks this face as having a non-identity self-identification. More...

## Detailed Description

### template<>
class regina::detail::FaceValidity< true, false >

Helper class that stores whether a face is valid.

See the general FaceValidity template notes for further details.

This specialisation is used for non-standard dimensions, where the definition of validity is weaker: we do test faces for bad self-identifications, but we do not test faces for bad links.

See FaceValidity<true, true>::isValid() for a full discussion of what it means for a face to be valid, and how this differs between standard and non-standard dimensions.

## Constructor & Destructor Documentation

## FaceValidity()

regina::detail::FaceValidity< true, false >::FaceValidity | ( |  | ) |

inline protected

Initialises this face as valid.

## Member Function Documentation

## hasBadIdentification()

bool regina::detail::FaceValidity< true, false >::hasBadIdentification | ( |  | ) | const

inline

Determines if this face is identified with itself under a non-identity permutation.

For example, if this face is an edge then this routine tests whether the edge is identified with itself in reverse.

For this class, hasBadIdentification() returns `true` if and only if isValid() returns `false`. This is in contrast to standard dimensions, where there are other types of invalid faces also. See FaceValidity<true, true>::isValid() for a full discussion of what it means for a face to be valid, and how this differs between standard and non-standard dimensions.

Returns
  `true` if and only if this face is identified with itself under a non-identity permutation.

## isValid()

bool regina::detail::FaceValidity< true, false >::isValid | ( |  | ) | const

inline

Determines if this face is valid.

This class is used for non-standard dimensions, where a face is defined to be valid if and only if it is not identified with itself under a non-identity permutation. For example, an edge is valid if and only if it is not identified with itself in reverse, and a triangle is valid if and only if it is is not identified with itself under a non-trivial rotation or reflection.

Note that the definition of validity is richer in Regina's standard dimensions, where we also consider the topology of the link of a face. See FaceValidity<true, true> for a full discussion of what it means for a face to be valid, and how this differs between standard and non-standard dimensions.

Returns
  `true` if and only if this face is not identified with itself under a non-identity permutation.

## markBadIdentification()

void regina::detail::FaceValidity< true, false >::markBadIdentification | ( |  | ) |

inline protected

Marks this face as having a non-identity self-identification.

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

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