#include <nsnappedtwosphere.h>

Public Member Functions | |
| virtual | ~NSnappedTwoSphere () |
| Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed. | |
| NSnappedTwoSphere * | clone () const |
| Returns a newly created clone of this structure. | |
| const NSnappedBall * | getSnappedBall (int index) const |
| Returns one of the two snapped 3-balls whose equators are joined. | |
| void | reduceTriangulation () const |
| Cuts along the 2-sphere and fills the two new boundary components with 3-balls. | |
| NTriangulation * | getReducedTriangulation (const NTriangulation *original) const |
| Makes a clone of this triangulation and reduces the clone as described by reduceTriangulation(). | |
| void | writeTextShort (std::ostream &out) const |
| Writes this object in short text format to the given output stream. | |
Static Public Member Functions | |
| static NSnappedTwoSphere * | formsSnappedTwoSphere (NTetrahedron *tet1, NTetrahedron *tet2) |
| Determines if the two given tetrahedra together form a snapped 2-sphere. | |
| static NSnappedTwoSphere * | formsSnappedTwoSphere (NSnappedBall *ball1, NSnappedBall *ball2) |
| Determines if the two given snapped 3-balls together form a snapped 2-sphere. | |
This occurs when two snapped 3-balls are glued together at their equators (note that this gluing does not have to extend to 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.
| regina::NSnappedTwoSphere::~NSnappedTwoSphere | ( | ) | [inline, virtual] |
Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed.
| NSnappedTwoSphere* regina::NSnappedTwoSphere::clone | ( | ) | const |
Returns a newly created clone of this structure.
| const NSnappedBall * regina::NSnappedTwoSphere::getSnappedBall | ( | int | index | ) | const [inline] |
Returns one of the two snapped 3-balls whose equators are joined.
| index | specifies which of the two 3-balls to return; this must be either 0 or 1. |
| void regina::NSnappedTwoSphere::reduceTriangulation | ( | ) | const |
Cuts along the 2-sphere and fills the two new boundary components with 3-balls.
The number of tetrahedra in the triangulation will not change.
Note that if this 2-sphere is separating, this routine will effectively split the corresponding connected sum into its two original terms.
| NTriangulation* regina::NSnappedTwoSphere::getReducedTriangulation | ( | const NTriangulation * | original | ) | const |
Makes a clone of this triangulation and reduces the clone as described by reduceTriangulation().
The original triangulation containing this 2-sphere will not be modified. The clone will have no parent packet.
| original | the triangulation in which this 2-sphere occurs. |
| static NSnappedTwoSphere* regina::NSnappedTwoSphere::formsSnappedTwoSphere | ( | NTetrahedron * | tet1, | |
| NTetrahedron * | tet2 | |||
| ) | [static] |
Determines if the two given tetrahedra together form a snapped 2-sphere.
| tet1 | the first tetrahedron to examine. | |
| tet2 | the second tetrahedron to examine. |
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.
| ball1 | the first snapped 3-ball to examine. | |
| ball2 | the second snapped 3-ball to examine. |
null if the given snapped 3-balls do not form a snapped 2-sphere. | 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 fit on a single line and no newline should be written.
| out | the output stream to which to write. |
Implements regina::ShareableObject.