regina::TxIDiagonalCore Class Reference
Standard Triangulations and Subcomplexes

One of a family of thin `T x I` triangulations that typically appear at the centres of layered torus bundles. More...

`#include <subcomplex/txicore.h>`

Inheritance diagram for regina::TxIDiagonalCore:

## Public Member Functions

| TxIDiagonalCore (unsigned long newSize, unsigned long newK)
| Creates a new `T x I` triangulation with the given parameters. More...
unsigned long | size () const
| Returns the total number of tetrahedra in this `T x I` triangulation. More...
unsigned long | k () const
| Returns the additional parameter k as described in the class notes. More...
std::ostream & | writeName (std::ostream &out) const
| Writes the name of this specific triangulation of `T x I` to the given output stream. More...
std::ostream & | writeTeXName (std::ostream &out) const
| Writes the name of this specific triangulation of `T x I` in TeX format to the given output stream. More...
const Triangulation< 3 > & | core () const
| Returns a full copy of the `T x I` triangulation that this object describes. More...
unsigned | bdryTet (unsigned whichBdry, unsigned whichTri) const
| Determines which tetrahedron provides the requested boundary triangle. More...
Perm< 4 > | bdryRoles (unsigned whichBdry, unsigned whichTri) const
| Describes which tetrahedron vertices play which roles in the upper and lower boundary triangles. More...
const Matrix2 & | bdryReln (unsigned whichBdry) const
| Returns a 2-by-2 matrix describing the alpha and beta curves on a torus boundary in terms of specific tetrahedron edges. More...
const Matrix2 & | parallelReln () const
| Returns a 2-by-2 matrix describing the parallel relationship between the upper and lower boundary curves. More...
std::string | name () const
| Returns the name of this specific triangulation of `T x I` as a human-readable string. More...
std::string | TeXName () const
| Returns the name of this specific triangulation of `T x I` in TeX format. 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...

## Protected Attributes

Triangulation< 3 > | core_
| A full copy of the `T x I` triangulation that is described. More...
unsigned | bdryTet_ [2][2]
| The tetrahedra that provide the upper and lower boundary triangles. More...
Perm< 4 > | bdryRoles_ [2][2]
| Describes which tetrahedron vertices play which roles in the upper and lower boundary triangles. More...
Matrix2 | bdryReln_ [2]
| Expresses the alpha and beta curves for each torus boundary in terms of specific tetrahedron edges and vertices. More...
Matrix2 | parallelReln_
| Expresses the lower alpha and beta curves in terms of the upper alpha and beta curves. More...

## Detailed Description

One of a family of thin `T x I` triangulations that typically appear at the centres of layered torus bundles.

Different triangulations in this family use different numbers of tetrahedra, with the larger triangulations producing more complicated relationships between the upper and lower boundary curves.

Members of this family are parameterised by their size (the number of tetrahedra) and an additional integer k, where 1 <= k <= size - 5. Note that this means we must have size >= 6. The member of this family of size n with additional parameter k is labelled `T_n:k`.

It is worth noting that `T_n:k` is isomorphic to `T_n:(n-4-k)`, so in reality there are only [(n-4)/2] different triangulations for a given size (rounded down).

A triangulation of this family is most easily defined in terms of its central torus. Central surfaces are described in detail in "Structures of small closed non-orientable 3-manifold triangulations", Benjamin A. Burton, J. Knot Theory Ramifications 16 (2007), 545–574; in particular, see the section on thin I-bundles.

The central torus begins with two triangles u0 and u1 (which eventually provide the upper torus boundary), with a chain of quadrilaterals q1, ..., q(n-5) descending diagonally beneath them as illustrated in the diagram below.

We then distort quadrilateral qk and attach two more triangles w0 and w1 to its side (these will eventually provide the lower torus boundary). This is illustrated in the following diagram.

The entire central torus wraps from left to right (so the lower left edges of most quadrilaterals qi are identified with the upper right edges of q(i-1), and the left edge of qk is identified with the right edge of w1). As an exception, the two uppermost edges are identified with the two lowermost edges in a parallel fashion (so the upper left edge of u1 is identified with the lower right edge of q1, and the adjacent edges at right angles to these are also identified).

The four triangles in the central torus correspond to the four tetrahedra in the triangulation that provide the boundary triangles. The upper boundary is coned out from triangles u0 and u1, and the lower boundary is coned out from triangles w0 and w1. In each boundary, u0 or w0 gives the first boundary triangle and u1 or w1 gives the second. The directions of the corresponding alpha and beta curves are illustrated below.

As a final illustration, the example below shows the central surface in the case (n, k) = (9, 2).

## Member Function Documentation

## detail()

std::string regina::Output< TxICore , 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< TxICore , 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< TxICore , 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:

- subcomplex/txicore.h

Copyright © 1999-2016, 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).