regina::NSnappedTwoSphere Class Reference
Standard Triangulations and Subcomplexes

Represents a 2-sphere made from two snapped 3-balls in a triangulation. More...

`#include <subcomplex/nsnappedtwosphere.h>`

Inheritance diagram for regina::NSnappedTwoSphere:

## Public Member Functions

virtual | ~NSnappedTwoSphere ()
| Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed. More...
NSnappedTwoSphere * | clone () const
| Returns a newly created clone of this structure. More...
const NSnappedBall * | getSnappedBall (int index) const
| Returns one of the two snapped 3-balls whose equators are joined. More...
void | writeTextShort (std::ostream &out) const
| Writes this object in short text format to the given output stream. More...
Input and Output
virtual void | writeTextLong (std::ostream &out) const
| Writes this object in long text format to the given output stream. More...
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...

## Static Public Member Functions

static NSnappedTwoSphere * | formsSnappedTwoSphere (NTetrahedron *tet1, NTetrahedron *tet2)
| Determines if the two given tetrahedra together form a snapped 2-sphere. More...
static NSnappedTwoSphere * | formsSnappedTwoSphere (NSnappedBall *ball1, NSnappedBall *ball2)
| Determines if the two given snapped 3-balls together form a snapped 2-sphere. More...

## Detailed Description

Represents a 2-sphere made from two snapped 3-balls in a triangulation.

This occurs when two snapped 3-balls are glued together at their equators (note that this gluing does not have to extend to triangular faces). Each 3-ball has a central disc (bounded by the 3-ball's equator and bisecting its internal edge), and these two discs together form an embedded 2-sphere in the triangulation.

This 2-sphere can be cut along and the two resulting 2-sphere boundaries filled in with 3-balls, and the resulting triangulation has the same number of tetrahedra as the original. If the snapped 2-sphere was separating, the resulting triangulation will contain the two terms of the corresponding connected sum.

## Constructor & Destructor Documentation

regina::NSnappedTwoSphere::~NSnappedTwoSphere | ( |  | ) |

inline virtual

Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed.

## Member Function Documentation

NSnappedTwoSphere* regina::NSnappedTwoSphere::clone | ( |  | ) | const

Returns a newly created clone of this structure.

Returns
  a newly created clone.

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

inherited

Returns the output from writeTextLong() as a string.

Returns
  a long text representation of this object.

static NSnappedTwoSphere* regina::NSnappedTwoSphere::formsSnappedTwoSphere | ( | NTetrahedron * | tet1,
|  | NTetrahedron * | tet2
| ) |  |

static

Determines if the two given tetrahedra together form a snapped 2-sphere.

Precondition
  The two given tetrahedra are distinct.

Parameters

  tet1 | the first tetrahedron to examine.
  tet2 | the second tetrahedron to examine.

Returns
  a newly created structure containing details of the snapped 2-sphere, or `null` if the given tetrahedra do not form a snapped 2-sphere.

static NSnappedTwoSphere* regina::NSnappedTwoSphere::formsSnappedTwoSphere | ( | NSnappedBall * | ball1,
|  | NSnappedBall * | ball2
| ) |  |

static

Determines if the two given snapped 3-balls together form a snapped 2-sphere.

If this is the case, the snapped 3-balls stored in the structure returned will be clones of the original 3-balls, not the original 3-balls themselves.

Precondition
  The two given snapped 3-balls use distinct tetrahedra.

Parameters

  ball1 | the first snapped 3-ball to examine.
  ball2 | the second snapped 3-ball to examine.

Returns
  a newly created structure containing details of the snapped 2-sphere, or `null` if the given snapped 3-balls do not form a snapped 2-sphere.

const NSnappedBall * regina::NSnappedTwoSphere::getSnappedBall | ( | int | index | ) | const

inline

Returns one of the two snapped 3-balls whose equators are joined.

Parameters

  index | specifies which of the two 3-balls to return; this must be either 0 or 1.

Returns
  the corresponding snapped 3-ball.

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.

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

inline virtual inherited

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 in regina::NSnapPeaTriangulation, regina::NGroupPresentation, regina::NHomMarkedAbelianGroup, regina::NNormalSurfaceList, regina::NTetrahedron, regina::NSatRegion, regina::NVertex, regina::NEdge, regina::Dim2Triangle, regina::NTriangle, regina::NLayeredSolidTorus, regina::NHomGroupPresentation, regina::NGenericIsomorphism< dim >, regina::NGenericIsomorphism< 2 >, regina::NGenericIsomorphism< 3 >, regina::NTriangulation, regina::NComponent, regina::NTxICore, regina::NTriSolidTorus, regina::NAngleStructureList, regina::Dim2Edge, regina::NBoundaryComponent, regina::NLayeredChain, regina::Dim2Vertex, regina::Dim2Component, regina::NScript, regina::NAugTriSolidTorus, regina::NSpiralSolidTorus, regina::NSurfaceFilterProperties, regina::NLayeredTorusBundle, regina::NManifold, regina::NPlugTriSolidTorus, regina::NMatrixInt, regina::NBlockedSFSTriple, regina::NPluggedTorusBundle, regina::Dim2Triangulation, regina::NSurfaceSubset, regina::NLayeredLensSpace, regina::NLayeredLoop, regina::NFileInfo, regina::NBlockedSFSLoop, regina::NSnappedBall, regina::NBlockedSFSPair, regina::Dim2BoundaryComponent, regina::NTrivialTri, regina::NL31Pillow, regina::NLayeredChainPair, regina::NText, regina::NSurfaceFilterCombination, and regina::NBlockedSFS.

void regina::NSnappedTwoSphere::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.

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

- subcomplex/nsnappedtwosphere.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).