Regina Calculation Engine
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
regina::DiscType Struct Reference

Identifies a single normal or almost normal disc type within a triangulation. More...

#include <surfaces/disctype.h>

Public Member Functions

 DiscType ()
 Creates a new disc type initialised to NONE. More...
 
 DiscType (size_t newTetIndex, int newType)
 Creates a new disc type initialised with the given values. More...
 
 DiscType (const DiscType &cloneMe)=default
 Creates a copy of the given disc type. More...
 
DiscTypeoperator= (const DiscType &cloneMe)=default
 Sets this to a copy of the given disc type. More...
 
bool operator== (const DiscType &compare) const
 Determines if this and the given disc type are identical. More...
 
bool operator!= (const DiscType &compare) const
 Determines if this and the given disc type are different. More...
 
bool operator< (const DiscType &compare) const
 Provides an ordering of disc types. More...
 

Public Attributes

size_t tetIndex
 The index within the triangulation of the tetrahedron containing this disc type. More...
 
int type
 Identifies the disc type within the specified tetrahedron. More...
 

Static Public Attributes

static const DiscType NONE
 Represents a "null" disc type. More...
 

Detailed Description

Identifies a single normal or almost normal disc type within a triangulation.

A disc type is identified by a tetrahedron index (the data member tetIndex), and a disc type within that tetrahedron (the data member type). The latter could mean any number of things according to the application at hand. For instance, if we are tracking quad types then type might be an integer between 0 and 2 inclusive, or if we are tracking all normal discs in standard coordinates then type might be an integer between 0 and 6 inclusive. Ultimately, the specific meaning of type is left to the user.

It is however assumed that type will always be non-negative for "meaningful" disc types; this is to ensure that the constant NONE does not clash with any meaningful values.

Note that this class tracks disc types, not discs themselves. To track individual normal discs, see the DiscSpec class instead.


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

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