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 faces 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...
 
NFacegetFace (int index) const
 Returns one of the two faces whose boundaries are joined. More...
 
NPerm4 getFaceMapping () const
 Returns a permutation describing how the boundaries of the two faces are joined. More...
 
void writeTextShort (std::ostream &out) const
 Writes this object in short text format to the given output stream. More...
 
- Public Member Functions inherited from regina::ShareableObject
 ShareableObject ()
 Default constructor that does nothing. More...
 
virtual ~ShareableObject ()
 Default destructor that does nothing. More...
 
virtual void writeTextLong (std::ostream &out) const
 Writes this object in long text format to the given output stream. More...
 
std::string toString () const
 Returns the output from writeTextShort() as a string. More...
 
std::string toStringLong () const
 Returns the output from writeTextLong() as a string. More...
 

Static Public Member Functions

static NPillowTwoSphereformsPillowTwoSphere (NFace *face1, NFace *face2)
 Determines if the two given faces together form a pillow 2-sphere. More...
 

Additional Inherited Members

- Protected Member Functions inherited from regina::boost::noncopyable
 noncopyable ()
 A constructor which does nothing. More...
 
 ~noncopyable ()
 A destructor which does nothing. More...
 

Detailed Description

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

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.

Member Function Documentation

NPillowTwoSphere* regina::NPillowTwoSphere::clone ( ) const

Returns a newly created clone of this structure.

Returns
a newly created clone.
static NPillowTwoSphere* regina::NPillowTwoSphere::formsPillowTwoSphere ( NFace face1,
NFace face2 
)
static

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

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

Returns one of the two faces whose boundaries are joined.

Parameters
indexspecifies which of the two faces to return; this must be either 0 or 1.
Returns
the corresponding face.
NPerm4 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.

Returns
a permutation describing how the face boundaries are joined.
void regina::NPillowTwoSphere::writeTextShort ( std::ostream &  out) const
inlinevirtual

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

Implements regina::ShareableObject.


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

Copyright © 1999-2012, The Regina development team
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).