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

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

Represents a particularly simple closed surface bundle over the circle. More...

#include <nsimplesurfacebundle.h>

Inheritance diagram for regina::NSimpleSurfaceBundle:

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

Public Member Functions

 NSimpleSurfaceBundle (int newType)
 Creates a new surface bundle of the given type.

 NSimpleSurfaceBundle (const NSimpleSurfaceBundle &cloneMe)
 Creates a clone of the given surface bundle.

int getType () const
 Returns the specific type of surface bundle being represented.

bool operator== (const NSimpleSurfaceBundle &compare) const
 Determines whether this and the given surface bundle represent the same 3-manifold.

virtual 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.


Static Public Attributes

const int S2xS1
 Represents the orientable 2-sphere bundle over the circle.

const int S2xS1_TWISTED
 Represents the non-orientable twisted 2-sphere bundle over the circle.

const int RP2xS1
 Represents the projective plane bundle over the circle.


Detailed Description

Represents a particularly simple closed surface bundle over the circle.

Only 2-sphere bundles, twisted 2-sphere bundles and projective plane bundles are considered.

All optional NManifold routines are implemented for this class.


Constructor & Destructor Documentation

regina::NSimpleSurfaceBundle::NSimpleSurfaceBundle int  newType  )  [inline]
 

Creates a new surface bundle of the given type.

Parameters:
newType the specific type of surface bundle to represent. This must be one of the 3-manifold constants defined in this class.

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

Creates a clone of the given surface bundle.

Parameters:
cloneMe the surface bundle to clone.


Member Function Documentation

virtual NTriangulation* regina::NSimpleSurfaceBundle::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::NSimpleSurfaceBundle::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.

int regina::NSimpleSurfaceBundle::getType  )  const [inline]
 

Returns the specific type of surface bundle being represented.

Returns:
the type of surface bundle. This will be one of the 3-manifold constants defined in this class.

bool regina::NSimpleSurfaceBundle::operator== const NSimpleSurfaceBundle compare  )  const [inline]
 

Determines whether this and the given surface bundle represent the same 3-manifold.

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

std::ostream& regina::NSimpleSurfaceBundle::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::NSimpleSurfaceBundle::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.


Member Data Documentation

const int regina::NSimpleSurfaceBundle::RP2xS1 [static]
 

Represents the projective plane bundle over the circle.

const int regina::NSimpleSurfaceBundle::S2xS1 [static]
 

Represents the orientable 2-sphere bundle over the circle.

const int regina::NSimpleSurfaceBundle::S2xS1_TWISTED [static]
 

Represents the non-orientable twisted 2-sphere bundle over the circle.


The documentation for this class 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).