regina::NSFSFibre Struct Reference
Standard 3-Manifolds

Represents an exceptional (alpha, beta) fibre in a Seifert fibred space. More...

`#include <manifold/nsfs.h>`

## Public Member Functions

| NSFSFibre ()
| Creates a new uninitialised exceptional fibre. More...
| NSFSFibre (long newAlpha, long newBeta)
| Creates a new exceptional fibre with the given parameters. More...
| NSFSFibre (const NSFSFibre &cloneMe)
| Creates a new exceptional fibre that is a clone of the given fibre. More...
void | operator= (const NSFSFibre &cloneMe)
| Makes this exceptional fibre a clone of the given fibre. More...
bool | operator== (const NSFSFibre &compare) const
| Determines if this and the given exceptional fibre are identical. More...
bool | operator< (const NSFSFibre &compare) const
| Determines if this exceptional fibre is smaller than the given fibre. More...

## Public Attributes

long | alpha
| The first parameter of this (alpha, beta) fibre. More...
long | beta
| The second parameter of this (alpha, beta) fibre. More...

## Detailed Description

Represents an exceptional (alpha, beta) fibre in a Seifert fibred space.

The first parameter alpha must be strictly positive, and the two parameters alpha and beta must be coprime.

Note that we allow regular fibres with alpha = 1, and we do not impose range limits on beta (thus beta may be negative, or it may be larger than alpha). This is to allow more flexibility in routines such as NSFSpace::insertFibre().

Warning
  In Regina 4.2.1 and earlier, this class was named NExceptionalFibre. The new NSFSFibre class was introduced with Regina 4.3, and has changed its behaviour (in particular, the natural ordering of fibres has changed). Code that was written to work with the old NExceptionalFibre class should be looked at closely before being adapted to the new NSFSFibre class (i.e., it may require more than just substituting class names).

## Constructor & Destructor Documentation

regina::NSFSFibre::NSFSFibre | ( |  | ) |

inline

Creates a new uninitialised exceptional fibre.

regina::NSFSFibre::NSFSFibre | ( | long | newAlpha,
|  | long | newBeta
| ) |  |

inline

Creates a new exceptional fibre with the given parameters.

Parameters

  newAlpha | the first parameter (the index) of this exceptional fibre; this must be strictly positive.
  newBeta | the second parameter of this exceptional fibre; this must have no common factors with the first parameter newAlpha.

regina::NSFSFibre::NSFSFibre | ( | const NSFSFibre & | cloneMe | ) |

inline

Creates a new exceptional fibre that is a clone of the given fibre.

Parameters

  cloneMe | the exceptional fibre to clone.

## Member Function Documentation

bool regina::NSFSFibre::operator< | ( | const NSFSFibre & | compare | ) | const

inline

Determines if this exceptional fibre is smaller than the given fibre.

Fibres are sorted by alpha and then by beta.

Parameters

  compare | the fibre with which this will be compared.

Returns
  `true` if and only if this is smaller than the given fibre.

void regina::NSFSFibre::operator= | ( | const NSFSFibre & | cloneMe | ) |

inline

Makes this exceptional fibre a clone of the given fibre.

Parameters

  cloneMe | the exceptional fibre to clone.

bool regina::NSFSFibre::operator== | ( | const NSFSFibre & | compare | ) | const

inline

Determines if this and the given exceptional fibre are identical.

This requires both fibres to have the same values for alpha and the same values for beta.

Parameters

  compare | the fibre with which this will be compared.

Returns
  `true` if and only if this and the given fibre are identical.

## Member Data Documentation

long regina::NSFSFibre::alpha

The first parameter of this (alpha, beta) fibre.

Note that this is the index of the exceptional fibre. This parameter must always be strictly positive.

long regina::NSFSFibre::beta

The second parameter of this (alpha, beta) fibre.

This parameter must have no common factors with alpha.

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

- manifold/nsfs.h

Copyright © 1999-2014, 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@debian.org).