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

Represents a three-tetrahedron triangular solid torus in a triangulation. More...

#include <subcomplex/trisolidtorus.h>

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

Public Member Functions

virtual ~TriSolidTorus ()
 Destroys this solid torus. More...
 
TriSolidTorusclone () const
 Returns a newly created clone of this structure. More...
 
Tetrahedron< 3 > * tetrahedron (int index) const
 Returns the requested tetrahedron in this solid torus. More...
 
Perm< 4 > vertexRoles (int index) const
 Returns a permutation represeting the role that each vertex of the requested tetrahedron plays in the solid torus. More...
 
bool isAnnulusSelfIdentified (int index, Perm< 4 > *roleMap) const
 Determines whether the two triangles of the requested annulus are glued to each other. More...
 
unsigned long areAnnuliLinkedMajor (int otherAnnulus) const
 Determines whether the two given annuli are linked in a particular fashion by a layered chain. More...
 
unsigned long areAnnuliLinkedAxis (int otherAnnulus) const
 Determines whether the two given annuli are linked in a particular fashion by a layered chain. 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 TriSolidTorusformsTriSolidTorus (Tetrahedron< 3 > *tet, Perm< 4 > useVertexRoles)
 Determines if the given tetrahedron forms part of a three-tetrahedron triangular solid torus with its vertices playing the given roles in the solid torus. 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 three-tetrahedron triangular solid torus in a triangulation.

A three-tetrahedron triangular solid torus is a three-tetrahedron triangular prism with its two ends identified.

The resulting triangular solid torus will have all edges as boundary edges. Three of these will be axis edges (parallel to the axis of the solid torus). Between the axis edges will be three annuli, each with two internal edges. One of these internal edges will meet all three tetrahedra (the major edge) and one of these internal edges will only meet two of the tetrahedra (the minor edge).

Assume the axis of the layered solid torus is oriented. The three major edges together form a loop on the boundary torus. This loop can be oriented to run around the solid torus in the same direction as the axis; this then induces an orientation on the boundary of a meridinal disc. Thus, using an axis edge as longitude, the three major edges will together form a (1,1) curve on the boundary torus.

We can now orient the minor edges so they also run around the solid torus in the same direction as the axis, together forming a (2, -1) curve on the boundary torus.

Finally, the three tetrahedra can be numbered 0, 1 and 2 in an order that follows the axis, and the annuli can be numbered 0, 1 and 2 in an order that follows the meridinal disc boundary so that annulus i does not use any faces from tetrahedron i.

Note that all three tetrahedra in the triangular solid torus must be distinct.

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
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-2021, 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).