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

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...
 
bool hasBadLink () const
 Determines if this face does not have an appropriate link. More...
 

Protected Member Functions

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

Detailed Description

template<bool allowsInvalid, bool testLinks>
class regina::detail::FaceValidity< allowsInvalid, testLinks >

Helper class that stores whether a face is valid.

Every class Face<dim, subdim> inherits from this class.

See isValid() for details on what it means for a face to be valid.

Template Parameters
allowsInvalidtrue when this is used for dimensions (dim, subdim) in which it is possible for faces to be invalid, or false for dimensions in which faces are always valid. If this is false, then this class optimises away all the implementation details to leave no overhead at all.
testLinkstrue if the underlying dimension dim is one of Regina's standard dimensions, or false if not. In non-standard dimensions, this class uses a more limited definition of validity that does not test for validity of vertex links. See isValid() for details.

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

Copyright © 1999-2020, 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).