#include <npillowtwosphere.h>
Inheritance diagram for regina::NPillowTwoSphere:
Public Member Functions | |
NPillowTwoSphere * | clone () const |
Returns a newly created clone of this structure. | |
NFace * | getFace (int index) const |
Returns one of the two faces whose boundaries are joined. | |
NPerm | getFaceMapping () const |
Returns a permutation describing how the boundaries of the two faces are joined. | |
void | reduceTriangulation () const |
Cuts along the 2-sphere and fills the two new boundary components with 3-balls. | |
NTriangulation * | getReducedTriangulation (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 | |
static NPillowTwoSphere * | formsPillowTwoSphere (NFace *face1, NFace *face2) |
Determines if the two given faces together form a pillow 2-sphere. |
The two faces must be distinct and the three edges of each face must also be distinct. Neither of the faces may be boundary faces. These two faces together form an embedded 2-sphere in the triangulation (with the exception that two or three points of the sphere corresponding to the face 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.
NPillowTwoSphere* regina::NPillowTwoSphere::clone | ( | ) | const |
Returns a newly created clone of this structure.
NFace * regina::NPillowTwoSphere::getFace | ( | int | index | ) | const [inline] |
Returns one of the two faces whose boundaries are joined.
index | specifies which of the two faces to return; this must be either 0 or 1. |
NPerm regina::NPillowTwoSphere::getFaceMapping | ( | ) | const [inline] |
Returns a permutation describing how the boundaries of the two faces are joined.
The permutation will map vertices (0,1,2) of getFace(0)
to vertices (0,1,2) of getFace(1)
. The map will represent how the vertices of the faces are identified by the three edge gluings.
void regina::NPillowTwoSphere::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.
NTriangulation* regina::NPillowTwoSphere::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.
original | the triangulation in which this 2-sphere occurs. |
static NPillowTwoSphere* regina::NPillowTwoSphere::formsPillowTwoSphere | ( | NFace * | face1, | |
NFace * | face2 | |||
) | [static] |
Determines if the two given faces together form a pillow 2-sphere.
face1 | the first face to examine. | |
face2 | the second face to examine. |
null
if the given faces do not form a pillow 2-sphere. void regina::NPillowTwoSphere::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.
out | the output stream to which to write. |
Implements regina::ShareableObject.