Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

regina::NSnappedTwoSphere Class Reference
[Standard Triangulations and Subcomplexes]

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

#include <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 reduceTriangulation () const
 Cuts along the 2-sphere and fills the two new boundary components with 3-balls.

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

NSnappedTwoSphereformsSnappedTwoSphere (NTetrahedron *tet1, NTetrahedron *tet2)
 Determines if the two given tetrahedra together form a snapped 2-sphere.

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

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.

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.

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.

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.

Todo:
Bug (urgent): This routine currently does nothing!
Parameters:
original the triangulation in which this 2-sphere occurs.
Returns:
the newly created reduced triangulation.

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.

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.

Todo:
Bug (urgent): This routine currently does nothing!

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:
out the output stream to which to write.

Implements regina::ShareableObject.


The documentation for this class was generated from the following file:
Copyright © 1999-2004, Ben Burton
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).