regina::DiscSetTet Class Reference
Normal Surfaces

Represents a set of normal discs inside a single tetrahedron. More...

`#include <surfaces/disc.h>`

Inheritance diagram for regina::DiscSetTet:

## Public Member Functions

| DiscSetTet (const NormalSurface &surface, size_t tetIndex)
| Creates a new set of normal discs corresponding to the discs of the given normal surface that lie within the given tetrahedron. More...
| DiscSetTet (unsigned long tri0, unsigned long tri1, unsigned long tri2, unsigned long tri3, unsigned long quad0, unsigned long quad1, unsigned long quad2, unsigned long oct0=0, unsigned long oct1=0, unsigned long oct2=0)
| Creates a new set of normal discs where the number of discs of each type is explicitly given. More...
virtual | ~DiscSetTet ()
| Destroys this disc set. More...
unsigned long | nDiscs (int type) const
| Determines the number of discs of the given type inside this tetrahedron. More...
unsigned long | arcFromDisc (int arcFace, int arcVertex, int discType, unsigned long discNumber) const
| Determines which normal arc of a given type on a given face of this tetrahedron corresponds to the given normal disc. More...
void | discFromArc (int arcFace, int arcVertex, unsigned long arcNumber, int &discType, unsigned long &discNumber) const
| Determines which normal disc in this tetrahedron meets the given normal arc on the given face. More...

## Protected Attributes

unsigned long | internalNDiscs [10]
| The number of discs of each type. More...

## Detailed Description

Represents a set of normal discs inside a single tetrahedron.

The numbers of discs of each type are stored in this structure, so querying them is fast regardless of the underlying normal surface coordinate system used.

Warning
  This class converts the number of normal discs of a given type from LargeInteger to `unsigned long`. See the precondition below.

Precondition
  The number of normal discs of a particular type in a particular tetrahedron can be represented by a long integer.
  This class should only be used with embedded normal surfaces.

Todo:
  Bug (long-term): Have some error flag so we can barf politely if the number of normal discs of a given type does not fit into an `unsigned long`. See how this affects DiscSetTetData also.

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

- surfaces/disc.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).