#include <nlensspace.h>
Public Member Functions | |
NLensSpace (unsigned long newP, unsigned long newQ) | |
Creates a new Lens space with the given parameters. | |
NLensSpace (const NLensSpace &cloneMe) | |
Creates a clone of the given Lens space. | |
virtual | ~NLensSpace () |
Destroys this Lens space. | |
unsigned long | getP () const |
Returns the first parameter p of this Lens space L(p,q). | |
unsigned long | getQ () const |
Returns the second parameter q of this Lens space L(p,q). | |
bool | operator== (const NLensSpace &compare) const |
Determines whether this and the given Lens space represent the same 3-manifold. | |
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. |
All optional NManifold routines are implemented for this class.
regina::NLensSpace::NLensSpace | ( | unsigned long | newP, | |
unsigned long | newQ | |||
) | [inline] |
Creates a new Lens space with the given parameters.
newP | the first parameter p of the Lens space L(p,q). | |
newQ | the second parameter q of the Lens space L(p,q). Note that there are no range restrictions whatsoever on this parameter. |
regina::NLensSpace::NLensSpace | ( | const NLensSpace & | cloneMe | ) | [inline] |
Creates a clone of the given Lens space.
cloneMe | the Lens space to clone. |
regina::NLensSpace::~NLensSpace | ( | ) | [inline, virtual] |
Destroys this Lens space.
unsigned long regina::NLensSpace::getP | ( | ) | const [inline] |
Returns the first parameter p of this Lens space L(p,q).
unsigned long regina::NLensSpace::getQ | ( | ) | const [inline] |
Returns the second parameter q of this Lens space L(p,q).
The value of q returned will be the smallest q between 0 and p-1 inclusive that produces the same 3-manifold as this Lens space. Thus it might not be the value of q that was used to initialise this Lens space.
bool regina::NLensSpace::operator== | ( | const NLensSpace & | compare | ) | const [inline] |
Determines whether this and the given Lens space represent the same 3-manifold.
Note that this may be true even if they were initialised with different parameters.
compare | the Lens space with which this will be compared. |
true
if and only if this and the given Lens space are homeomorphic. NTriangulation* regina::NLensSpace::construct | ( | ) | const [virtual] |
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.
NAbelianGroup* regina::NLensSpace::getHomologyH1 | ( | ) | const [virtual] |
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.
std::ostream& regina::NLensSpace::writeName | ( | std::ostream & | out | ) | const [virtual] |
Writes the common name of this 3-manifold as a human-readable string to the given output stream.
out | the output stream to which to write. |
Implements regina::NManifold.
std::ostream& regina::NLensSpace::writeTeXName | ( | std::ostream & | out | ) | const [virtual] |
Writes the common name of this 3-manifold in TeX format to the given output stream.
No leading or trailing dollar signs will be included.
out | the output stream to which to write. |
Implements regina::NManifold.