Regina Calculation Engine
|
Represents a three-tetrahedron triangular solid torus in a triangulation. More...
#include <subcomplex/trisolidtorus.h>
Public Member Functions | |
virtual | ~TriSolidTorus () |
Destroys this solid torus. More... | |
TriSolidTorus * | clone () 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... | |
Manifold * | manifold () const |
Returns the 3-manifold represented by this triangulation, if such a recognition routine has been implemented. More... | |
AbelianGroup * | homology () const |
Returns the expected first homology group of this triangulation, if such a routine has been implemented. More... | |
std::ostream & | writeName (std::ostream &out) const |
Writes the name of this triangulation as a human-readable string to the given output stream. More... | |
std::ostream & | writeTeXName (std::ostream &out) const |
Writes the name of this triangulation in TeX format 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 | 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... | |
AbelianGroup * | homologyH1 () 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 TriSolidTorus * | formsTriSolidTorus (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 StandardTriangulation * | isStandardTriangulation (Component< 3 > *component) |
Determines whether the given component represents one of the standard triangulations understood by Regina. More... | |
static StandardTriangulation * | isStandardTriangulation (Triangulation< 3 > *tri) |
Determines whether the given triangulation represents one of the standard triangulations understood by Regina. More... | |
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.
|
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.
|
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.
__str__()
.
|
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.