regina::NTetrahedron Class Reference
Triangulations

Represents a tetrahedron in a triangulation. More...

`#include <triangulation/ntetrahedron.h>`

Inheritance diagram for regina::NTetrahedron:

## Public Member Functions

| NTetrahedron ()
| Creates a new tetrahedron with empty description and no faces joined to anything. More...
| NTetrahedron (const std::string &desc)
| Creates a new tetrahedron with the given description and no faces joined to anything. More...
virtual | ~NTetrahedron ()
| Destroys this tetrahedron. More...
const std::string & | getDescription () const
| Returns the text description associated with this tetrahedron. More...
void | setDescription (const std::string &desc)
| Sets the text description associated with this tetrahedron. More...
unsigned long | index () const
| Returns the index of this tetrahedron in the underlying triangulation. More...
NTetrahedron * | adjacentTetrahedron (int face) const
| Returns the adjacent tetrahedron glued to the given face of this tetrahedron, or 0 if the given face is on the triangulation boundary. More...
NTetrahedron * | adjacentSimplex (int face) const
| A dimension-agnostic alias for adjacentTetrahedron(). More...
NTetrahedron * | getAdjacentTetrahedron (int face) const
| Deprecated in favour of adjacentTetrahedron(). More...
NPerm4 | adjacentGluing (int face) const
| Returns a permutation describing the correspondence between vertices of this tetrahedron and vertices of the adjacent tetrahedron glued to the given face of this tetrahedron. More...
NPerm4 | getAdjacentTetrahedronGluing (int face) const
| Deprecated in favour of adjacentGluing(). More...
int | adjacentFace (int face) const
| Examines the tetrahedron glued to the given face of this tetrahedron, and returns the corresponding face of that tetrahedron. More...
int | adjacentFacet (int facet) const
| A dimension-agnostic alias for adjacentFace(). More...
int | getAdjacentFace (int face) const
| Deprecated in favour of adjacentFace(). More...
bool | hasBoundary () const
| Determines if this tetrahedron has any faces that are boundary triangles. More...
void | joinTo (int myFace, NTetrahedron *you, NPerm4 gluing)
| Joins the given face of this tetrahedron to another tetrahedron. More...
NTetrahedron * | unjoin (int myFace)
| Unglues the given face of this tetrahedron from whatever is joined to it. More...
void | isolate ()
| Undoes any face gluings involving this tetrahedron. More...
NTriangulation * | getTriangulation () const
| Returns the triangulation to which this tetrahedron belongs. More...
NComponent * | getComponent () const
| Returns the triangulation component to which this tetrahedron belongs. More...
NVertex * | getVertex (int vertex) const
| Returns the vertex in the triangulation skeleton corresponding to the given vertex of this tetrahedron. More...
NEdge * | getEdge (int edge) const
| Returns the edge in the triangulation skeleton corresponding to the given edge of this tetrahedron. More...
NTriangle * | getTriangle (int face) const
| Returns the triangle in the triangulation skeleton corresponding to the given face of this tetrahedron. More...
NTriangle * | getFace (int face) const
| A deprecated alias for getTriangle(). More...
NPerm4 | getVertexMapping (int vertex) const
| Returns a permutation that maps 0 to the given vertex of this tetrahedron, and that maps (1,2,3) to the three remaining vertices in the following "orientation-preserving" fashion. More...
NPerm4 | getEdgeMapping (int edge) const
| Examines the given edge of this tetrahedron, and returns a permutation that maps the "canonical" vertices (0,1) of the corresponding edge of the triangulation to the matching vertices of this tetrahedron. More...
NPerm4 | getTriangleMapping (int face) const
| Examines the given face of this tetrahedron, and returns a mapping from the "canonical" vertices of the corresponding triangle of the triangulation to the matching vertices of this tetrahedron. More...
NPerm4 | getFaceMapping (int face) const
| A deprecated alias for getTriangleMapping(). More...
int | orientation () const
| Returns the orientation of this tetrahedron in the triangulation. More...
void | writeTextShort (std::ostream &out) const
| Writes this object in short text format to the given output stream. More...
void | writeTextLong (std::ostream &out) const
| Writes this object in long text format to the given output stream. More...
long | markedIndex () const
| Returns the index at which this object is stored in an NMarkedVector. More...
Input and Output
std::string | str () const
| Returns the output from writeTextShort() as a string. More...
std::string | toString () const
| A deprecated alias for str(), which returns the output from writeTextShort() as a string. More...
std::string | detail () const
| Returns the output from writeTextLong() as a string. More...
std::string | toStringLong () const
| A deprecated alias for detail(), which returns the output from writeTextLong() as a string. More...

## Friends

class | NTriangulation
| Allow access to private members. More...

## Detailed Description

Represents a tetrahedron in a triangulation.

With each tetrahedron is stored various pieces of information regarding the overall skeletal structure and component structure of the triangulation. This skeletal information will be allocated, calculated and deallocated by the NTriangulation object containing the corresponding tetrahedra.

The management of tetrahedra has changed significantly as of Regina 4.90:

- Users no longer need to call NTriangulation::gluingsHaveChanged() when gluing or ungluing tetrahedra. This notification is now handled automatically, and NTriangulation::gluingsHaveChanged() now does nothing.
- You should now create tetrahedra by calling NTriangulation::newTetrahedron() or NTriangulation::newTetrahedron(const std::string&), which will automatically add the tetrahedron to the triangulation. You should not need to call NTriangulation::addTetrahedron() at all.
- When you remove a tetrahedron using NTriangulation::removeTetrahedron() or NTriangulation::removeTetrahedronAt(), the tetrahedron will now be automatically destroyed.
- The old way of adding tetrahedra (creating an NTetrahedron and then calling NTriangulation::addTetrahedron()) is deprecated, and will be removed completely in the near future. In the meantime, you may find that tetrahedra are now added to a triangulation automatically (both NTriangulation::addTetrahedron() and NTetrahedron::joinTo() will aggressively try to add nearby tetrahedra that do not already belong to the current triangulation). This is to avoid tetrahedra and triangulations being in an inconsistent state. Any redundant calls to NTriangulation::addTetrahedron() (i.e., when the tetrahedron already belongs to the triangulation) are harmless, and will have no effect.

These changes are designed to ensure that triangulations and tetrahedra are always in a consistent state, and to make it more difficult for users to inadvertently crash the program.

## Constructor & Destructor Documentation

regina::NTetrahedron::NTetrahedron | ( |  | ) |

Creates a new tetrahedron with empty description and no faces joined to anything.

The new tetrahedron will not belong to any triangulation.

Deprecated:
  Users should now create new tetrahedra by calling NTriangulation::newTetrahedron(). For details, see the changes in tetrahedron management outlined in the NTetrahedron class notes.

regina::NTetrahedron::NTetrahedron | ( | const std::string & | desc | ) |

Creates a new tetrahedron with the given description and no faces joined to anything.

The new tetrahedron will not belong to any triangulation.

Deprecated:
  Users should now create new tetrahedra by calling NTriangulation::newTetrahedron(const std::string&). For details, see the changes in tetrahedron management outlined in the NTetrahedron class notes.

Parameters

  desc | the description to give the new tetrahedron.

regina::NTetrahedron::~NTetrahedron | ( |  | ) |

inline virtual

Destroys this tetrahedron.

## Member Function Documentation

int regina::NTetrahedron::adjacentFace | ( | int | face | ) | const

inline

Examines the tetrahedron glued to the given face of this tetrahedron, and returns the corresponding face of that tetrahedron.

That is, the returned face of the adjacent tetrahedron is glued to the given face of this tetrahedron.

Precondition
  The given face of this tetrahedron has some tetrahedron (possibly this one) glued to it.

Parameters

  face | the face of this tetrahedron whose gluing we will examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  the face of the tetrahedron adjacent along the given face that is in fact glued to the given face of this tetrahedron.

int regina::NTetrahedron::adjacentFacet | ( | int | facet | ) | const

inline

A dimension-agnostic alias for adjacentFace().

This is to assist with writing dimension-agnostic code that can be reused to work in different dimensions.

Here "facet" refers to a facet of a top-dimensional simplex (which for 3-manifold triangulations means a face of a tetrahedron).

See adjacentFace() for further information.

NPerm4 regina::NTetrahedron::adjacentGluing | ( | int | face | ) | const

inline

Returns a permutation describing the correspondence between vertices of this tetrahedron and vertices of the adjacent tetrahedron glued to the given face of this tetrahedron.

If we call this permutation `p`, then for each vertex `v` of this tetrahedron, `p[v]` will be the vertex of the adjacent tetrahedron that is identified with `v` according to the gluing along the given face of this tetrahedron.

Precondition
  The given face of this tetrahedron has some tetrahedron (possibly this one) glued to it.

Parameters

  face | the face of this tetrahedron whose gluing we will examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  a permutation mapping the vertices of this tetrahedron to the vertices of the tetrahedron adjacent along the given face.

NTetrahedron * regina::NTetrahedron::adjacentSimplex | ( | int | face | ) | const

inline

A dimension-agnostic alias for adjacentTetrahedron().

This is to assist with writing dimension-agnostic code that can be reused to work in different dimensions.

Here "simplex" refers to a top-dimensional simplex (which for 3-manifold triangulations means a tetrahedron).

See adjacentTetrahedron() for further information.

NTetrahedron * regina::NTetrahedron::adjacentTetrahedron | ( | int | face | ) | const

inline

Returns the adjacent tetrahedron glued to the given face of this tetrahedron, or 0 if the given face is on the triangulation boundary.

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  the adjacent tetrahedron glued to the given face, or 0 if the given face lies on the boundary.

std::string regina::ShareableObject::detail | ( |  | ) | const

inherited

Returns the output from writeTextLong() as a string.

Returns
  a long text representation of this object.

int regina::NTetrahedron::getAdjacentFace | ( | int | face | ) | const

inline

Deprecated in favour of adjacentFace().

The old routine getAdjacentFace() has been renamed to adjacentFace() as part of an effort to make programming and scripting with Regina a little less work on the fingers.

Deprecated:
  This routine will eventually be removed in some future version of Regina. Users are advised to use adjacentFace() instead, which is an identical routine with a shorter name.

Parameters

  face | the face of this tetrahedron whose gluing we will examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  the face of the tetrahedron adjacent along the given face that is in fact glued to the given face of this tetrahedron.

NTetrahedron * regina::NTetrahedron::getAdjacentTetrahedron | ( | int | face | ) | const

inline

Deprecated in favour of adjacentTetrahedron().

The old routine getAdjacentTetrahedron() has been renamed to adjacentTetrahedron() as part of an effort to make programming and scripting with Regina a little less work on the fingers.

Deprecated:
  This routine will eventually be removed in some future version of Regina. Users are advised to use adjacentTetrahedron() instead, which is an identical routine with a shorter name.

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  the adjacent tetrahedron glued to the given face, or 0 if the given face lies on the boundary.

NPerm4 regina::NTetrahedron::getAdjacentTetrahedronGluing | ( | int | face | ) | const

inline

Deprecated in favour of adjacentGluing().

The old routine getAdjacentTetrahedronGluing() has been renamed to adjacentGluing() as part of an effort to make programming and scripting with Regina a little less work on the fingers.

Deprecated:
  This routine will eventually be removed in some future version of Regina. Users are advised to use adjacentGluing() instead, which is an identical routine with a shorter name.

Parameters

  face | the face of this tetrahedron whose gluing we will examine. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  a permutation mapping the vertices of this tetrahedron to the vertices of the tetrahedron adjacent along the given face.

NComponent * regina::NTetrahedron::getComponent | ( |  | ) | const

inline

Returns the triangulation component to which this tetrahedron belongs.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Returns
  the component containing this tetrahedron.

const std::string & regina::NTetrahedron::getDescription | ( |  | ) | const

inline

Returns the text description associated with this tetrahedron.

Returns
  the description of this tetrahedron.

NEdge * regina::NTetrahedron::getEdge | ( | int | edge | ) | const

inline

Returns the edge in the triangulation skeleton corresponding to the given edge of this tetrahedron.

See NEdge::edgeNumber and NEdge::edgeVertex for the conventions of how edges are numbered within a tetrahedron.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  edge | the edge of this tetrahedron to examine. This should be between 0 and 5 inclusive.

Returns
  the edge of the skeleton corresponding to the requested tetrahedron edge.

NPerm4 regina::NTetrahedron::getEdgeMapping | ( | int | edge | ) | const

inline

Examines the given edge of this tetrahedron, and returns a permutation that maps the "canonical" vertices (0,1) of the corresponding edge of the triangulation to the matching vertices of this tetrahedron.

This permutation also maps (2,3) to the remaining tetrahedron vertices in an "orientation-preserving" way, as described below.

In detail: Suppose several edges of several tetrahedra are identified within the overall triangulation. We call this a single "edge of the triangulation", and arbitrarily label its vertices (0,1). This routine then maps the vertices (0,1) of this edge of the triangulation to the individual vertices of this tetrahedron that make up the given edge.

Because we are passing the argument edge, we already know which vertices of this tetrahedron are involved. What this routine tells us is the order in which they appear to form the overall edge of the triangulation.

As a consequence: Consider some collection of tetrahedron edges that are identified together as a single edge of the triangulation, and choose some i from the set {0,1}. Then the vertices `getEdgeMapping(...)[i]` of the individual tetrahedra are all identified together, since they all become the same vertex of the same edge of the triangulation (assuming of course that we pass the correct edge number in each case to getEdgeMapping()).

The images of 2 and 3 under the permutations that are returned have the following properties. In each tetrahedron, the images of 2 and 3 under this map form a directed edge of the tetrahedron (running from the image of vertex 2 to the image of vertex 3). For any given edge of the triangulation, these corresponding directed edges together form an ordered path within the triangulation that circles the common edge of the triangulation (like an edge link, except that it is not near to the edge and so might intersect itself). Furthermore, if we consider the individual tetrahedra in the order in which they appear in the list NEdge::getEmbeddings(), these corresponding directed edges appear in order from the start of this path to the finish (for internal edges this path is actually a cycle, and the starting point is arbitrary).

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  edge | the edge of this tetrahedron to examine. This should be between 0 and 5 inclusive.

Returns
  a mapping from vertices (0,1) of the requested triangulation edge to the vertices of this tetrahedron.

NTriangle * regina::NTetrahedron::getFace | ( | int | face | ) | const

inline

A deprecated alias for getTriangle().

This routine returns the triangle in the triangulation skeleton corresponding to the given face of this tetrahedron. See getTriangle() for further details.

Deprecated:
  This routine will be removed in a future version of Regina. Please use getTriangle() instead.

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive, where face `i` lies opposite vertex `i`.

Returns
  the triangle of the skeleton corresponding to the requested tetrahedron face.

NPerm4 regina::NTetrahedron::getFaceMapping | ( | int | face | ) | const

inline

A deprecated alias for getTriangleMapping().

This routine examines the given face of this tetrahedron, and returns a mapping from the "canonical" vertices of the corresponding triangle of the triangulation to the matching vertices of this tetrahedron. See getTriangleMapping() for further details.

Deprecated:
  This routine will be removed in a future version of Regina. Please use getTriangleMapping() instead.

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive.

Returns
  a mapping from vertices (0,1,2) of the corresponding triangle to the vertices of this tetrahedron.

NTriangle * regina::NTetrahedron::getTriangle | ( | int | face | ) | const

inline

Returns the triangle in the triangulation skeleton corresponding to the given face of this tetrahedron.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive, where face `i` lies opposite vertex `i`.

Returns
  the triangle of the skeleton corresponding to the requested tetrahedron face.

NPerm4 regina::NTetrahedron::getTriangleMapping | ( | int | face | ) | const

inline

Examines the given face of this tetrahedron, and returns a mapping from the "canonical" vertices of the corresponding triangle of the triangulation to the matching vertices of this tetrahedron.

In detail: Suppose two faces of two tetrahedra are identified within the overall triangulation. We call this a single "triangle of the triangulation", and arbitrarily label its vertices (0,1,2). This routine then maps the vertices (0,1,2) of this triangle of the triangulation to the individual vertices of this tetrahedron that make up the given face.

Because we are passing the argument face, we already know which vertices of this tetrahedron are involved. What this routine tells us is the order in which they appear to form the overall face of the triangulation.

As a consequence: Consider some pair of tetrahedron faces that are identified together as a single triangle of the triangulation, and choose some i from the set {0,1,2}. Then the vertices `getTriangleMapping(...)[i]` of the individual tetrahedra are identified together, since they both become the same vertex of the same triangle of the triangulation (assuming of course that we pass the correct face number in each case to getTriangleMapping()).

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  face | the face of this tetrahedron to examine. This should be between 0 and 3 inclusive.

Returns
  a mapping from vertices (0,1,2) of the corresponding triangle to the vertices of this tetrahedron.

NTriangulation * regina::NTetrahedron::getTriangulation | ( |  | ) | const

inline

Returns the triangulation to which this tetrahedron belongs.

Returns
  the triangulation containing this tetrahedron.

NVertex * regina::NTetrahedron::getVertex | ( | int | vertex | ) | const

inline

Returns the vertex in the triangulation skeleton corresponding to the given vertex of this tetrahedron.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  vertex | the vertex of this tetrahedron to examine. This should be between 0 and 3 inclusive.

Returns
  the vertex of the skeleton corresponding to the requested tetrahedron vertex.

NPerm4 regina::NTetrahedron::getVertexMapping | ( | int | vertex | ) | const

inline

Returns a permutation that maps 0 to the given vertex of this tetrahedron, and that maps (1,2,3) to the three remaining vertices in the following "orientation-preserving" fashion.

The images of (1,2,3) under this permutation imply an orientation for the tetrahedron face opposite the given vertex. These orientations will be consistent for all tetrahedra containing the given vertex, if this is possible (i.e., if the vertex link is orientable).

Note that there are still arbitrary decisions to be made for the images of (1,2,3), since there will always be three possible mappings that yield the correct orientation.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Parameters

  vertex | the vertex of this tetrahedron to examine. This should be between 0 and 3 inclusive.

Returns
  a permutation that maps 0 to the given vertex of this tetrahedron, with the properties outlined above.

bool regina::NTetrahedron::hasBoundary | ( |  | ) | const

Determines if this tetrahedron has any faces that are boundary triangles.

Returns
  `true` if and only if this tetrahedron has any boundary triangles.

unsigned long regina::NTetrahedron::index | ( |  | ) | const

inline

Returns the index of this tetrahedron in the underlying triangulation.

This is identical to calling `getTriangulation()->tetrahedronIndex(this)`.

Note that tetrahedron indexing may change when a tetrahedron is added or removed from the underlying triangulation.

Returns
  the index of this tetrahedron.

void regina::NTetrahedron::isolate | ( |  | ) |

Undoes any face gluings involving this tetrahedron.

Any other tetrahedra involved will be automatically updated.

void regina::NTetrahedron::joinTo | ( | int | myFace,
|  | NTetrahedron * | you,
|  | NPerm4 | gluing
| ) |  |

Joins the given face of this tetrahedron to another tetrahedron.

The other tetrahedron involved will be automatically updated.

Neither tetrahedron needs to belong to a triangulation (i.e., you can join tetrahedra together before or after calling NTriangulation::addTetrahedron()). However, if both tetrahedra do belong to a triangulation then it must be the same triangulation.

Precondition
  This and the given tetrahedron do not belong to different triangulations.
  The given face of this tetrahedron is not currently glued to anything.
  The face of the other tetrahedron that will be glued to the given face of this tetrahedron is not currently glued to anything.
  If the other tetrahedron involved is this tetrahedron, we are not attempting to glue a face to itself.

Warning
  If one tetrahedron belongs to a triangulation but the other does not, the missing tetrahedron (along with anything that it is joined to, directly or indirectly) will be automatically added to the triangulation. This is new behaviour as of Regina 4.90; see the NTetrahedron class notes for details.

Parameters

  myFace | the face of this tetrahedron that will be glued to the given other tetrahedron. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.
  you | the tetrahedron (possibly this one) that will be glued to the given face of this tetrahedron.
  gluing | a permutation describing the mapping of vertices by which the two tetrahedra will be joined. Each vertex `v` of this tetrahedron that lies on the given face will be identified with vertex `gluing[v]` of tetrahedron `you`. In addition, the face of `you` that will be glued to the given face of this tetrahedron will be face number `gluing[myFace]`.

long regina::NMarkedElement::markedIndex | ( |  | ) | const

inline inherited

Returns the index at which this object is stored in an NMarkedVector.

If this object does not belong to an NMarkedVector, the return value is undefined.

Returns
  the index at which this object is stored.

int regina::NTetrahedron::orientation | ( |  | ) | const

inline

Returns the orientation of this tetrahedron in the triangulation.

The orientation of each tetrahedron is always +1 or -1. In an orientable component of a triangulation, adjacent tetrahedra have the same orientations if one could be transposed onto the other without reflection, and they have opposite orientations if a reflection would be required. In a non-orientable component, orientations are still +1 and -1 but no further guarantees can be made.

As of Regina 4.90, if the skeletal information for the triangulation has not been computed then this will be done automatically. There is no need for users to explicitly recompute the skeleton themselves.

Precondition
  This tetrahedron belongs to a triangulation (i.e., it was created using NTriangulation::newTetrahedron() or added using NTriangulation::addTetrahedron()).

Returns
  +1 or -1 according to the orientation of this tetrahedron.

void regina::NTetrahedron::setDescription | ( | const std::string & | desc | ) |

inline

Sets the text description associated with this tetrahedron.

Note that descriptions need not be unique, and may be empty.

Parameters

  desc | the new description to assign to this tetrahedron.

std::string regina::ShareableObject::str | ( |  | ) | const

inherited

Returns the output from writeTextShort() as a string.

Python:
  This implements the `__str__()` function.

Returns
  a short text representation of this object.

std::string regina::ShareableObject::toString | ( |  | ) | const

inline inherited

A deprecated alias for str(), which returns the output from writeTextShort() as a string.

Deprecated:
  This routine has (at long last) been deprecated; use the simpler-to-type str() instead.

Returns
  a short text representation of this object.

std::string regina::ShareableObject::toStringLong | ( |  | ) | const

inline inherited

A deprecated alias for detail(), which returns the output from writeTextLong() as a string.

Deprecated:
  This routine has (at long last) been deprecated; use the simpler-to-type detail() instead.

Returns
  a long text representation of this object.

NTetrahedron* regina::NTetrahedron::unjoin | ( | int | myFace | ) |

Unglues the given face of this tetrahedron from whatever is joined to it.

The other tetrahedron involved (possibly this one) will be automatically updated.

Precondition
  The given face of this tetrahedron has some tetrahedron (possibly this one) glued to it.

Parameters

  myFace | the face of this tetrahedron whose gluing we will undo. This should be between 0 and 3 inclusive, where face `i` is opposite vertex `i` of the tetrahedron.

Returns
  the ex-adjacent tetrahedron that was originally glued to the given face of this tetrahedron.

void regina::NTetrahedron::writeTextLong | ( | std::ostream & | out | ) | const

virtual

Writes this object in long text format to the given output stream.

The output should provide the user with all the information they could want. The output should be human-readable, should not contain extremely long lines (so users can read the output in a terminal), and should end with a final newline.

The default implementation of this routine merely calls writeTextShort() and adds a newline.

Python:
  The parameter out does not exist; standard output will be used.

Parameters

  out | the output stream to which to write.

Reimplemented from regina::ShareableObject.

void regina::NTetrahedron::writeTextShort | ( | std::ostream & | out | ) | const

inline virtual

Writes this object in short text format to the given output stream.

The output should be human-readable, should fit on a single line, and should not end with a newline.

Python:
  The parameter out does not exist; standard output will be used.

Parameters

  out | the output stream to which to write.

Implements regina::ShareableObject.

## Friends And Related Function Documentation

friend class NTriangulation

friend

Allow access to private members.

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

- triangulation/ntetrahedron.h

Copyright © 1999-2014, 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@debian.org).