Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

regina::NDiscSpec Struct Reference
[Normal Surfaces]

Specifies a single normal disc in a normal surface. More...

#include <ndisc.h>

List of all members.

Public Member Functions

 NDiscSpec ()
 Creates a new uninitialised disc specifier.
 NDiscSpec (unsigned long newTetIndex, int newType, unsigned long newNumber)
 Creates a new disc specifier containing the given values.
 NDiscSpec (const NDiscSpec &cloneMe)
 Creates a new disc specifier that is a clone of the given specifier.
NDiscSpecoperator= (const NDiscSpec &cloneMe)
 Copies the values from the given disc specifier into this specifier.
bool operator== (const NDiscSpec &other) const
 Determines if this and the given disc specifier contain identical information.

Public Attributes

unsigned long tetIndex
 The index in the triangulation of the tetrahedron containing the disc.
int type
 The disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes.
unsigned long number
 Specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes.

Friends

std::ostream & operator<< (std::ostream &out, const NDiscSpec &spec)
 Writes the given disc specifier to the given output stream.


Detailed Description

Specifies a single normal disc in a normal surface.

There are 10 disc types. Types 0-3 represent triangles 0-3, types 4-6 represent quads 0-2 and types 7-9 represent octahedra 0-2.

Discs of a specific type are assigned numbers from 0 upwards. Triangular discs are numbered outwards from the vertex they surround. Quad discs and octahedral discs are numbered outwards away from vertex 0 of the tetrahedron.

Warning:
This class converts the indices of normal discs of a given type from NLargeInteger 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.


Constructor & Destructor Documentation

regina::NDiscSpec::NDiscSpec  )  [inline]
 

Creates a new uninitialised disc specifier.

regina::NDiscSpec::NDiscSpec unsigned long  newTetIndex,
int  newType,
unsigned long  newNumber
[inline]
 

Creates a new disc specifier containing the given values.

Parameters:
newTetIndex the index in the triangulation of the tetrahedron containing the disc.
newType the disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes.
newNumber specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes.

regina::NDiscSpec::NDiscSpec const NDiscSpec cloneMe  )  [inline]
 

Creates a new disc specifier that is a clone of the given specifier.

Parameters:
cloneMe the disc specifier to clone.


Member Function Documentation

NDiscSpec & regina::NDiscSpec::operator= const NDiscSpec cloneMe  )  [inline]
 

Copies the values from the given disc specifier into this specifier.

Parameters:
cloneMe the disc specifier whose values should be copied.
Returns:
a reference to this disc specifier.

bool regina::NDiscSpec::operator== const NDiscSpec other  )  const [inline]
 

Determines if this and the given disc specifier contain identical information.

Parameters:
other the disc specifier to compare with this.
Returns:
true if and only if this and the given disc specifier contain identical information.


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  out,
const NDiscSpec spec
[friend]
 

Writes the given disc specifier to the given output stream.

The disc specifier will be written as a triple (tetIndex, type, number).

Parameters:
out the output stream to which to write.
spec the disc specifier to write.
Returns:
a reference to out.


Member Data Documentation

unsigned long regina::NDiscSpec::number
 

Specifies which disc of the particular type in the particular tetrahedron is being referred to; discs are numbered as described in the NDiscSpec class notes.

unsigned long regina::NDiscSpec::tetIndex
 

The index in the triangulation of the tetrahedron containing the disc.

int regina::NDiscSpec::type
 

The disc type; this is between 0 and 9 inclusive, as described in the NDiscSpec class notes.


The documentation for this struct was generated from the following file:
Copyright © 1999-2004, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).