Regina Calculation Engine
Public Member Functions | Static Public Member Functions | List of all members
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

Public Member Functions

virtual ~NSnappedTwoSphere ()
 Destroys this snapped 2-sphere; note that the corresponding snapped 3-balls will also be destroyed. More...
 
NSnappedTwoSphereclone () const
 Returns a newly created clone of this structure. More...
 
const NSnappedBallgetSnappedBall (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 NSnappedTwoSphereformsSnappedTwoSphere (NTetrahedron *tet1, NTetrahedron *tet2)
 Determines if the two given tetrahedra together form a snapped 2-sphere. More...
 
static NSnappedTwoSphereformsSnappedTwoSphere (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 ( )
inlinevirtual

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

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
inlineinherited

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
inlinevirtualinherited

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

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
outthe output stream to which to write.

Implements regina::ShareableObject.


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

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