Regina Calculation Engine
Public Types | Public Member Functions | Protected Attributes | List of all members
regina::DiscSetTetData< T > Class Template Reference

Stores data of type T for every normal disc inside a single tetrahedron. More...

#include <surfaces/disc.h>

Inheritance diagram for regina::DiscSetTetData< T >:
regina::DiscSetTet

Public Types

typedef T * DataPtr
 A type that is a pointer to the data stored with each disc. More...
 

Public Member Functions

 DiscSetTetData (const NormalSurface &surface, size_t tetIndex)
 Creates a new disc set corresponding to the discs of the given normal surface that lie within the given tetrahedron. More...
 
 DiscSetTetData (const NormalSurface &surface, size_t tetIndex, const T &initValue)
 Creates a new disc set corresponding to the discs of the given normal surface that lie within the given tetrahedron. More...
 
 DiscSetTetData (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 disc set where the number of discs of each type is explicitly given. More...
 
virtual ~DiscSetTetData ()
 Destroys this disc set and deallocates all data arrays. More...
 
T & data (int discType, unsigned long discNumber)
 Retrieves a reference to the data corresponding to the given normal disc. More...
 
 DiscSetTetData (const DiscSetTet &)=delete
 
DiscSetTetDataoperator= (const DiscSetTet &)=delete
 
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

DataPtr internalData [10]
 Stores the data corresponding to each normal disc. More...
 
unsigned long internalNDiscs [10]
 The number of discs of each type. More...
 

Detailed Description

template<class T>
class regina::DiscSetTetData< T >

Stores data of type T for every normal disc inside a single tetrahedron.

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.
Type T has a default constructor and an assignment operator. That is, if a and b are of type T, then a can be declared with no parameters and can then receive the value of b using a=b.
Python
Not present.

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

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