#include <nsfs.h>
Inheritance diagram for regina::NSFS:
Public Member Functions | |
NSFS () | |
Creates a new orientable Seifert fibred space with orbit manifold the sphere and no exceptional fibres. | |
NSFS (unsigned long newOrbitGenus, bool newOrbitOrientable, unsigned long newOrbitPunctures=0) | |
Creates a new orientable Seifert fibred space with the given orbit manifold and no exceptional fibres. | |
NSFS (const NSFS &cloneMe) | |
Creates a new orientable Seifert fibred space that is a clone of the given space. | |
virtual | ~NSFS () |
Destroys this Seifert fibred space. | |
void | operator= (const NSFS &cloneMe) |
Modifies this Seifert fibred space to be a clone of the given space. | |
unsigned long | getOrbitGenus () const |
Returns the genus of the orbit manifold. | |
bool | isOrbitOrientable () const |
Returns whether or not the orbit manifold is orientable. | |
unsigned long | getOrbitPunctures () const |
Returns the number of boundary components of the orbit manifold. | |
unsigned long | getFibreCount () const |
Returns the number of exceptional fibres required to describe this Seifert fibred space. | |
NExceptionalFibre | getFibre (unsigned long which) const |
Returns the requested exceptional fibre. | |
void | insertFibre (const NExceptionalFibre &fibre) |
Adds the given fibre to this Seifert fibred space. | |
void | insertFibre (long alpha, long beta) |
Adds the given fibre to this Seifert fibred space. | |
void | reduce () |
Reduces the parameters of this Seifert fibred space to a simpler form if possible, without changing the orbit manifold or the fibres. | |
NLensSpace * | isLensSpace () const |
Determines if this Seifert fibred space is a Lens space. | |
NTriangulation * | construct () const |
Returns a triangulation of this 3-manifold, if such a construction has been implemented. | |
NAbelianGroup * | getHomologyH1 () const |
Returns the first homology group of this 3-manifold, if such a routine has been implemented. | |
std::ostream & | writeName (std::ostream &out) const |
Writes the common name of this 3-manifold as a human-readable string to the given output stream. | |
std::ostream & | writeTeXName (std::ostream &out) const |
Writes the common name of this 3-manifold in TeX format to the given output stream. | |
std::ostream & | writeStructure (std::ostream &out) const |
Writes details of the structure of this 3-manifold that might not be evident from its common name to the given output stream. |
When queried, this class will return the list of exceptional fibres in standard form. This is a form similar to that used by Matveev and satisfies the following properties.
There will be no fibres of index 1; these will instead be merged with other exceptional fibres. If there are no exceptional fibres, all fibres of index 1 will be merged into a single (1,k) fibre which will be presented if it is non-trivial (i.e., k is non-zero).
The exceptional fibres will be sorted as described by NExceptionalFibre::operator<. All fibres except for the last will have NExceptionalFibre::beta between 0 and NExceptionalFibre::alpha-1 inclusive.
The NManifold routine getHomologyH1() is implemented for all instances of this class, whereas the NManifold routine construct() is only implemented for a restricted class of Seifert fibred spaces.
|
Creates a new orientable Seifert fibred space with orbit manifold the sphere and no exceptional fibres.
|
|
Creates a new orientable Seifert fibred space with the given orbit manifold and no exceptional fibres.
|
|
Creates a new orientable Seifert fibred space that is a clone of the given space.
|
|
Destroys this Seifert fibred space.
|
|
Returns a triangulation of this 3-manifold, if such a construction has been implemented. If no construction routine has yet been implemented for this 3-manifold (for instance, if this 3-manifold is a Seifert fibred space with sufficiently many exceptional fibres) then this routine will return 0. The details of which 3-manifolds have construction routines can be found in the notes for the corresponding subclasses of NManifold. The default implemention of this routine returns 0.
Reimplemented from regina::NManifold. |
|
Returns the requested exceptional fibre. Note that all fibres will be in standard form, as described in the general class notes.
|
|
Returns the number of exceptional fibres required to describe this Seifert fibred space. Note that (1,k) fibres are not included in this count, with the following exception. If there are no exceptional fibres but there is a single (1,k) fibre with k non-zero, then this routine will return 1 to include this (1,k) fibre. See the general class notes for further details.
|
|
Returns the first homology group of this 3-manifold, if such a routine has been implemented. If the calculation of homology has not yet been implemented for this 3-manifold then this routine will return 0. The details of which 3-manifolds have homology calculation routines can be found in the notes for the corresponding subclasses of NManifold. The default implemention of this routine returns 0. The homology group will be newly allocated and must be destroyed by the caller of this routine.
Reimplemented from regina::NManifold. |
|
Returns the genus of the orbit manifold. This is the number of tori or projective planes that it contains (once all its boundary components are filled in with discs).
|
|
Returns the number of boundary components of the orbit manifold.
|
|
Adds the given fibre to this Seifert fibred space. Note that there is no restriction on the range of the second parameter of the fibre. The index of this fibre may be 1. Once this fibre is added, the fibres of this space will be converted to standard form as described in the NSFS class notes.
|
|
Adds the given fibre to this Seifert fibred space. Note that there is no restriction on the range of the second parameter of the fibre. The index of this fibre may be 1. Once this fibre is added, the fibres of this space will be converted to standard form as described in the NSFS class notes.
|
|
Determines if this Seifert fibred space is a Lens space. If this is a Lens space, the NLensSpace returned will be newly created and it will be up to the caller of this routine to destroy it.
|
|
Returns whether or not the orbit manifold is orientable.
|
|
Modifies this Seifert fibred space to be a clone of the given space.
|
|
Reduces the parameters of this Seifert fibred space to a simpler form if possible, without changing the orbit manifold or the fibres.
Currently only one operation is performed. If the final fibre has negative NExceptionalFibre::beta, consider the integer division Note that this operation essentially reflects the 3-manifold, so inserting additional fibres after performing this operation may give unexpected results. |
|
Writes the common name of this 3-manifold as a human-readable string to the given output stream.
Implements regina::NManifold. |
|
Writes details of the structure of this 3-manifold that might not be evident from its common name to the given output stream. For instance, for an orbit space S^3/G this routine might write the full Seifert structure. This routine may write nothing if no additional details are deemed necessary. The default implementation of this routine behaves in this way.
Reimplemented from regina::NManifold. |
|
Writes the common name of this 3-manifold in TeX format to the given output stream. Leading and trailing dollar signs will be included.
Implements regina::NManifold. |