#include <ndisc.h>
Public Member Functions | |
NDiscSetSurface (const NNormalSurface &surface) | |
Creates a new disc set corresponding to the discs of the given normal surface. | |
virtual | ~NDiscSetSurface () |
Destroys this set of discs and deallocates all associated memory. | |
unsigned long | nTets () const |
Returns the number of tetrahedra in the underlying triangulation. | |
unsigned long | nDiscs (unsigned long tetIndex, int type) const |
Determines the number of discs of the given type inside the given tetrahedron. | |
NDiscSetTet & | tetDiscs (unsigned long tetIndex) const |
Returns the specific set of discs living inside the given tetrahedron. | |
NDiscSpec * | adjacentDisc (const NDiscSpec &disc, NPerm arc, NPerm &adjArc) const |
Determines which normal disc is adjacent to the given normal disc along the given directed normal arc in the surface described by this disc set. | |
Protected Member Functions | |
NDiscSetSurface (const NNormalSurface &surface, bool b) | |
Creates a new disc set corresponding to the discs of the given normal surface. | |
Protected Attributes | |
NDiscSetTet ** | discSets |
The disc sets corresponding to each tetrahedron. | |
NTriangulation * | triangulation |
The triangulation in which the normal surface lives. |
These are stored as an array of NDiscSetTet objects, one for each tetrahedron.
unsigned long
. See the precondition below.This class should only be used with embedded normal surfaces.
regina::NDiscSetSurface::NDiscSetSurface | ( | const NNormalSurface & | surface, | |
bool | b | |||
) | [protected] |
Creates a new disc set corresponding to the discs of the given normal surface.
The array of tetrahedron disc set pointers will be created but the NDiscSetTet objects themselves will not be created.
This constructor should be called from constructors of subclasses who wish to use objects of a subclass of NDiscSetTet, which this constructor allows them to create for themselves.
surface.getTriangulation()->getNumberOfTetrahedra()
.surface | the normal surface whose discs we shall use. | |
b | this parameter is ignored. |
regina::NDiscSetSurface::NDiscSetSurface | ( | const NNormalSurface & | surface | ) |
Creates a new disc set corresponding to the discs of the given normal surface.
surface | the normal surface whose discs we shall use. |
virtual regina::NDiscSetSurface::~NDiscSetSurface | ( | ) | [virtual] |
Destroys this set of discs and deallocates all associated memory.
NDiscSpec* regina::NDiscSetSurface::adjacentDisc | ( | const NDiscSpec & | disc, | |
NPerm | arc, | |||
NPerm & | adjArc | |||
) | const |
Determines which normal disc is adjacent to the given normal disc along the given directed normal arc in the surface described by this disc set.
A directed normal arc will be specified by a permutation p, where the arc runs around vertex p[0]
parallel to the directed edge from vertex p[1]
to p[2]
.
disc | the given normal disc; this must be a disc in this disc set. | |
arc | the given normal arc; this must actually be an arc on the boundary of the given normal disc (although it may run in either direction). | |
adjArc | returns the same directed normal arc that was passed, but expressed in terms of the vertices of the adjacent tetrahedron. Any value may be initially passed. If there is no adjacent disc/tetrahedron, this permutation will remain unchanged. |
unsigned long regina::NDiscSetSurface::nDiscs | ( | unsigned long | tetIndex, | |
int | type | |||
) | const [inline] |
Determines the number of discs of the given type inside the given tetrahedron.
tetIndex | the index in the triangulation of the tetrahedron to examine. | |
type | the disc type to examine; this should be between 0 and 9 inclusive. Disc types are outlined in the NDiscSpec class notes. |
unsigned long regina::NDiscSetSurface::nTets | ( | ) | const [inline] |
Returns the number of tetrahedra in the underlying triangulation.
NDiscSetTet & regina::NDiscSetSurface::tetDiscs | ( | unsigned long | tetIndex | ) | const [inline] |
Returns the specific set of discs living inside the given tetrahedron.
tetIndex | the index in the triangulation of the given tetrahedron. |
NDiscSetTet** regina::NDiscSetSurface::discSets [protected] |
The disc sets corresponding to each tetrahedron.
NTriangulation* regina::NDiscSetSurface::triangulation [protected] |
The triangulation in which the normal surface lives.