Regina Calculation Engine
Public Member Functions | Static Public Attributes | List of all members
regina::SimpleSurfaceBundle Class Reference

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

#include <manifold/simplesurfacebundle.h>

Inheritance diagram for regina::SimpleSurfaceBundle:
regina::Manifold regina::Output< Manifold >

Public Member Functions

 SimpleSurfaceBundle (int newType)
 Creates a new surface bundle of the given type. More...
 
 SimpleSurfaceBundle (const SimpleSurfaceBundle &cloneMe)=default
 Creates a clone of the given surface bundle. More...
 
int type () const
 Returns the specific type of surface bundle being represented. More...
 
bool operator== (const SimpleSurfaceBundle &compare) const
 Determines whether this and the given surface bundle represent the same 3-manifold. More...
 
bool operator!= (const SimpleSurfaceBundle &compare) const
 Determines whether this and the given surface bundle represent different 3-manifolds. More...
 
SimpleSurfaceBundleoperator= (const SimpleSurfaceBundle &cloneMe)=default
 Sets this to be a clone of the given surface bundle. More...
 
Triangulation< 3 > * construct () const override
 Returns a triangulation of this 3-manifold, if such a construction has been implemented. More...
 
AbelianGrouphomology () const override
 Returns the first homology group of this 3-manifold, if such a routine has been implemented. More...
 
bool isHyperbolic () const override
 Returns whether or not this is a finite-volume hyperbolic manifold. More...
 
std::ostream & writeName (std::ostream &out) const override
 Writes the common name of this 3-manifold as a human-readable string to the given output stream. More...
 
std::ostream & writeTeXName (std::ostream &out) const override
 Writes the common name of this 3-manifold in TeX format to the given output stream. More...
 
std::string name () const
 Returns the common name of this 3-manifold as a human-readable string. More...
 
std::string TeXName () const
 Returns the common name of this 3-manifold in TeX format. More...
 
std::string structure () const
 Returns details of the structure of this 3-manifold that might not be evident from its common name. More...
 
AbelianGrouphomologyH1 () const
 Returns the first homology group of this 3-manifold, if such a routine has been implemented. More...
 
bool operator< (const Manifold &compare) const
 Determines in a fairly ad-hoc fashion whether this representation of this 3-manifold is "smaller" than the given representation of the given 3-manifold. More...
 
virtual std::ostream & writeStructure (std::ostream &out) const
 Writes details of the structure of this 3-manifold that might not be evident from its common name to the given output stream. More...
 
void writeTextShort (std::ostream &out) const
 Writes a short text representation of this object to the given output stream. More...
 
void writeTextLong (std::ostream &out) const
 Writes a detailed text representation of this object to the given output stream. More...
 
std::string str () const
 Returns a short text representation of this object. More...
 
std::string utf8 () const
 Returns a short text representation of this object using unicode characters. More...
 
std::string detail () const
 Returns a detailed text representation of this object. More...
 

Static Public Attributes

static const int S2xS1
 Represents the orientable 2-sphere bundle over the circle. More...
 
static const int S2xS1_TWISTED
 Represents the non-orientable twisted 2-sphere bundle over the circle. More...
 
static const int RP2xS1
 Represents the projective plane bundle over the circle. More...
 

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 Manifold routines are implemented for this class.

Member Function Documentation

◆ detail()

std::string regina::Output< Manifold , false >::detail ( ) const
inherited

Returns a detailed text representation of this object.

This text may span many lines, and should provide the user with all the information they could want. It should be human-readable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.

Returns
a detailed text representation of this object.

◆ str()

std::string regina::Output< Manifold , false >::str ( ) const
inherited

Returns a short text representation of this object.

This text should be human-readable, should fit on a single line, and should not end with a newline. Where possible, it should use plain ASCII characters.

Python:\n In addition to str(), this is also used as the
Python "stringification" function str().
Returns
a short text representation of this object.

◆ utf8()

std::string regina::Output< Manifold , false >::utf8 ( ) const
inherited

Returns a short text representation of this object using unicode characters.

Like str(), this text should be human-readable, should fit on a single line, and should not end with a newline. In addition, it may use unicode characters to make the output more pleasant to read. This string will be encoded in UTF-8.

Returns
a short text representation of this object.

The documentation for this class was generated from the following file:

Copyright © 1999-2018, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).