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

Represents a layered solid torus in a triangulation. More...

#include <subcomplex/layeredsolidtorus.h>

Inheritance diagram for regina::LayeredSolidTorus:
regina::StandardTriangulation regina::Output< StandardTriangulation >

Public Member Functions

LayeredSolidTorusclone () const
 Returns a newly created clone of this structure. More...
 
size_t size () const
 Returns the number of tetrahedra in this layered solid torus. More...
 
Tetrahedron< 3 > * base () const
 Returns the tetrahedron that is glued to itself at the base of this layered solid torus. More...
 
int baseEdge (int group, int index) const
 Returns the requested edge of the base tetrahedron belonging to the given group. More...
 
int baseEdgeGroup (int edge) const
 Returns the group that the given edge of the base tetrahedron belongs to. More...
 
int baseFace (int index) const
 Returns one of the two faces of the base tetrahedron that are glued to each other. More...
 
Tetrahedron< 3 > * topLevel () const
 Returns the top level tetrahedron in this layered solid torus. More...
 
unsigned long meridinalCuts (int group) const
 Returns the number of times the meridinal disc of the torus cuts the top level tetrahedron edges in the given group. More...
 
int topEdge (int group, int index) const
 Returns the requested edge of the top level tetrahedron belonging to the given group. More...
 
int topEdgeGroup (int edge) const
 Returns the group that the given edge of the top level tetrahedron belongs to. More...
 
int topFace (int index) const
 Returns one of the two faces of the top level tetrahedron that form the boundary of this layered solid torus. More...
 
Triangulation< 3 > * flatten (const Triangulation< 3 > *original, int mobiusBandBdry) const
 Flattens this layered solid torus to a Mobius band. More...
 
void transform (const Triangulation< 3 > *originalTri, const Isomorphism< 3 > *iso, Triangulation< 3 > *newTri)
 Adjusts the details of this layered solid torus according to the given isomorphism between triangulations. More...
 
Manifoldmanifold () const override
 Returns the 3-manifold represented by this triangulation, if such a recognition routine has been implemented. More...
 
AbelianGrouphomology () const override
 Returns the expected first homology group of this triangulation, if such a routine has been implemented. More...
 
std::ostream & writeName (std::ostream &out) const override
 Writes the name of this triangulation as a human-readable string to the given output stream. More...
 
std::ostream & writeTeXName (std::ostream &out) const override
 Writes the name of this triangulation in TeX format to the given output stream. More...
 
void writeTextLong (std::ostream &out) const override
 Writes a detailed text representation of this object to the given output stream. More...
 
std::string name () const
 Returns the name of this specific triangulation as a human-readable string. More...
 
std::string TeXName () const
 Returns the name of this specific triangulation in TeX format. More...
 
AbelianGrouphomologyH1 () const
 Returns the expected first homology group of this triangulation, if such a routine has been implemented. More...
 
virtual void writeTextShort (std::ostream &out) const
 Writes a short 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 Member Functions

static LayeredSolidTorusformsLayeredSolidTorusBase (Tetrahedron< 3 > *tet)
 Determines if the given tetrahedron forms the base of a layered solid torus within a triangulation. More...
 
static LayeredSolidTorusformsLayeredSolidTorusTop (Tetrahedron< 3 > *tet, unsigned topFace1, unsigned topFace2)
 Determines if the given tetrahedron forms the top level tetrahedron of a layered solid torus, with the two given faces of this tetrahedron representing the boundary of the layered solid torus. More...
 
static LayeredSolidTorusisLayeredSolidTorus (Component< 3 > *comp)
 Determines if the given triangulation component forms a layered solid torus in its entirity. More...
 
static StandardTriangulationisStandardTriangulation (Component< 3 > *component)
 Determines whether the given component represents one of the standard triangulations understood by Regina. More...
 
static StandardTriangulationisStandardTriangulation (Triangulation< 3 > *tri)
 Determines whether the given triangulation represents one of the standard triangulations understood by Regina. More...
 

Detailed Description

Represents a layered solid torus in a triangulation.

A layered solid torus must contain at least one tetrahedron.

Note that this class only represents layered solid tori with a (3,2,1) at their base. Thus triangulations that begin with a degenerate (2,1,1) mobius strip and layer over the mobius strip boundary (including the minimal (1,1,0) triangulation) are not described by this class.

All optional StandardTriangulation routines are implemented for this class.

Member Function Documentation

◆ detail()

std::string regina::Output< StandardTriangulation , 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< StandardTriangulation , 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< StandardTriangulation , 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).