Represents an arbitrary handlebody. More...
#include <nhandlebody.h>
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. | |
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. |
Represents an arbitrary handlebody.
All optional NManifold routines except for NManifold::construct() are implemented for this class.
regina::NHandlebody::NHandlebody | ( | unsigned long | newHandles, |
bool | newOrientable | ||
) | [inline] |
Creates a new handlebody with the given 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.
cloneMe | the handlebody to clone. |
regina::NHandlebody::~NHandlebody | ( | ) | [inline, virtual] |
Destroys this handlebody.
unsigned long regina::NHandlebody::getHandles | ( | ) | const [inline] |
Returns the number of handles of this handlebody.
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.
Reimplemented from regina::NManifold.
bool regina::NHandlebody::isOrientable | ( | ) | const [inline] |
Returns whether this handlebody is orientable.
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.
compare | the handlebody with which this will be compared. |
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.
out | the output stream to which to write. |
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.
No leading or trailing dollar signs will be included.
out | the output stream to which to write. |
Implements regina::NManifold.