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

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

Represents an arbitrary handlebody. More...

#include <nhandlebody.h>

Inheritance diagram for regina::NHandlebody:

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

Public Member Functions

 NHandlebody (unsigned long newHandles, bool newOrientable)
 Creates a new handlebody with the given parameters.
 NHandlebody (const NHandlebody &cloneMe)
 Creates a clone of the given handlebody.
virtual ~NHandlebody ()
 Destroys this handlebody.
unsigned long getHandles () const
 Returns the number of handles of this handlebody.
bool isOrientable () const
 Returns whether this handlebody is orientable.
bool operator== (const NHandlebody &compare) const
 Determines whether this and the given handlebody represent the same 3-manifold.
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 an arbitrary handlebody.

All optional NManifold routines except for NManifold::construct() are implemented for this class.


Constructor & Destructor Documentation

regina::NHandlebody::NHandlebody unsigned long  newHandles,
bool  newOrientable
[inline]
 

Creates a new handlebody with the given parameters.

Parameters:
newHandles the number of handles of the handlebody.
newOrientable true if the handlebody is to be orientable or false if the handlebody is to be non-orientable. This must be true if the handlebody has no handles.

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

Creates a clone of the given handlebody.

Parameters:
cloneMe the handlebody to clone.

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

Destroys this handlebody.


Member Function Documentation

unsigned long regina::NHandlebody::getHandles  )  const [inline]
 

Returns the number of handles of this handlebody.

Returns:
the number of handles.

NAbelianGroup* regina::NHandlebody::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.

bool regina::NHandlebody::isOrientable  )  const [inline]
 

Returns whether this handlebody is orientable.

Returns:
true if this handlebody is orientable, or false if this handlebody is non-orientable.

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

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

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

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