Regina Calculation Engine
Public Member Functions | Static Public Member Functions
regina::NSnappedTwoSphere Class Reference

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

#include <subcomplex/nsnappedtwosphere.h>

Inheritance diagram for regina::NSnappedTwoSphere:
regina::ShareableObject regina::boost::noncopyable

List of all members.

Public Member Functions

virtual ~NSnappedTwoSphere ()
 Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed.
NSnappedTwoSphereclone () const
 Returns a newly created clone of this structure.
const NSnappedBallgetSnappedBall (int index) const
 Returns one of the two snapped 3-balls whose equators are joined.
void writeTextShort (std::ostream &out) const
 Writes this object in short text format to the given output stream.

Static Public Member Functions

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

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 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

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


Member Function Documentation

Returns a newly created clone of this structure.

Returns:
a newly created clone.

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

Precondition:
The two given tetrahedra are distinct.
Parameters:
tet1the first tetrahedron to examine.
tet2the 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.

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:
ball1the first snapped 3-ball to examine.
ball2the 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:
indexspecifies which of the two 3-balls to return; this must be either 0 or 1.
Returns:
the corresponding snapped 3-ball.
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.

Python:
The parameter out does not exist; standard output will be used.
Parameters:
outthe output stream to which to write.

Implements regina::ShareableObject.


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

Copyright © 1999-2011, The Regina development team
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).