Regina Calculation Engine
Public Member Functions | Static Public Member Functions | List of all members
regina::NPillowTwoSphere Class Reference

Represents a 2-sphere made from two triangles glued together along their three edges. More...

#include <subcomplex/npillowtwosphere.h>

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

Public Member Functions

NPillowTwoSphereclone () const
 Returns a newly created clone of this structure. More...
 
NTrianglegetTriangle (int index) const
 Returns one of the two triangles whose boundaries are joined. More...
 
NTrianglegetFace (int index) const
 A deprecated alias for getTriangle(). More...
 
NPerm4 getTriangleMapping () const
 Returns a permutation describing how the boundaries of the two triangles are joined. More...
 
NPerm4 getFaceMapping () const
 A deprecated alias for getTriangleMapping(). 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 NPillowTwoSphereformsPillowTwoSphere (NTriangle *tri1, NTriangle *tri2)
 Determines if the two given triangles together form a pillow 2-sphere. More...
 

Detailed Description

Represents a 2-sphere made from two triangles glued together along their three edges.

The two triangles must be distinct and the three edges of each triangle must also be distinct. Neither of the triangles may be boundary triangles. These two triangless together form an embedded 2-sphere in the triangulation (with the exception that two or three points of the sphere corresponding to the triangles vertices may be identified).

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 original 2-sphere was separating, the resulting triangulation will contain the two terms of the corresponding connected sum.

Member Function Documentation

NPillowTwoSphere* regina::NPillowTwoSphere::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 NPillowTwoSphere* regina::NPillowTwoSphere::formsPillowTwoSphere ( NTriangle tri1,
NTriangle tri2 
)
static

Determines if the two given triangles together form a pillow 2-sphere.

Precondition
The two given triangles are distinct.
Parameters
tri1the first triangle to examine.
tri2the second triangle to examine.
Returns
a newly created structure containing details of the pillow 2-sphere, or null if the given triangles do not form a pillow 2-sphere.
NTriangle * regina::NPillowTwoSphere::getFace ( int  index) const
inline

A deprecated alias for getTriangle().

This routine returns one of the two triangles whose boundaries are joined. See getTriangle() for further details.

Deprecated:
This routine will be removed in a future version of Regina. Please use getTriangle() instead.
Parameters
indexspecifies which of the two triangles to return; this must be either 0 or 1.
Returns
the corresponding triangle.
NPerm4 regina::NPillowTwoSphere::getFaceMapping ( ) const
inline

A deprecated alias for getTriangleMapping().

This routine returns a permutation describing how the boundaries of the two triangles are joined. See getTriangleMapping() for further details.

Deprecated:
This routine will be removed in a future version of Regina. Please use getTriangleMapping() instead.
Returns
a permutation describing how the triangle boundaries are joined.
NTriangle * regina::NPillowTwoSphere::getTriangle ( int  index) const
inline

Returns one of the two triangles whose boundaries are joined.

Parameters
indexspecifies which of the two triangles to return; this must be either 0 or 1.
Returns
the corresponding triangle.
NPerm4 regina::NPillowTwoSphere::getTriangleMapping ( ) const
inline

Returns a permutation describing how the boundaries of the two triangles are joined.

The permutation will map vertices (0,1,2) of getTriangle(0) to vertices (0,1,2) of getTriangle(1). The map will represent how the vertices of the triangles are identified by the three edge gluings.

Returns
a permutation describing how the triangle boundaries are joined.
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::NPillowTwoSphere::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).