Regina Calculation Engine
|
Represents a 2-sphere made from two snapped 3-balls in a triangulation. More...
#include <subcomplex/nsnappedtwosphere.h>
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... | |
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.
|
inlinevirtual |
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.
|
inherited |
Returns the output from writeTextLong() as a string.
|
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 |
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.
|
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. |
|
inherited |
Returns the output from writeTextShort() as a string.
__str__()
function.
|
inlineinherited |
A deprecated alias for str(), which returns the output from writeTextShort() as a string.
|
inlineinherited |
A deprecated alias for detail(), which returns the output from writeTextLong() as a string.
|
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.
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.
|
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.
out | the output stream to which to write. |
Implements regina::ShareableObject.