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

regina::NLensSpace Class Reference
[Standard 3-Manifolds]

Represents a general Lens space. More...

#include <nlensspace.h>

Inheritance diagram for regina::NLensSpace:

regina::NManifold regina::ShareableObject regina::boost::noncopyable List of all members.

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.

NTriangulationconstruct () const
 Returns a triangulation of this 3-manifold, if such a construction has been implemented.

NAbelianGroupgetHomologyH1 () 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.


Detailed Description

Represents a general Lens space.

All optional NManifold routines are implemented for this class.


Constructor & Destructor Documentation

regina::NLensSpace::NLensSpace unsigned long  newP,
unsigned long  newQ
[inline]
 

Creates a new Lens space with the given parameters.

Precondition:
The two given parameters are coprime (have a gcd of 1).
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.

Parameters:
cloneMe the Lens space to clone.

regina::NLensSpace::~NLensSpace  )  [inline, virtual]
 

Destroys this Lens space.


Member Function Documentation

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.

Returns:
a triangulation of this 3-manifold, or 0 if the appropriate construction routine has not yet been implemented.

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.

Returns:
the first homology group of this 3-manifold, or 0 if the appropriate calculation routine has not yet been implemented.

Reimplemented from regina::NManifold.

unsigned long regina::NLensSpace::getP  )  const [inline]
 

Returns the first parameter p of this Lens space L(p,q).

Returns:
the first parameter.

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.

Parameters:
compare the Lens space with which this will be compared.
Returns:
true if and only if this and the given Lens space are homeomorphic.

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.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
out the output stream to which to write.
Returns:
a reference to the given output stream.

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.

Leading and trailing dollar signs will be included.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
out the output stream to which to write.
Returns:
a reference to the given output stream.

Implements regina::NManifold.


The documentation for this class was generated from the following file:
Copyright © 1999-2003, 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).