Regina Calculation Engine
Public Member Functions | Protected Member Functions | List of all members
regina::detail::FaceValidity< true, false > Class Template Reference

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

#include <generic/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 ( )
inlineprotected

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 ( )
inlineprotected

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


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