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

Represents a subset of a normal surface list. More...

#include <surfaces/nsurfacesubset.h>

Inheritance diagram for regina::NSurfaceSubset:
regina::Output< NSurfaceSubset >

Public Member Functions

 NSurfaceSubset (const NNormalSurfaceList &list, const NSurfaceFilter &filter)
 Creates a new normal surface subset. More...
 
REGINA_DEPRECATED NormalCoords getFlavour () const
 Returns the coordinate system being used by the surfaces stored in this set. More...
 
NormalCoords coords () const
 Returns the coordinate system being used by the surfaces stored in this set. More...
 
bool allowsAlmostNormal () const
 Determines if the coordinate system being used allows for almost normal surfaces, that is, allows for octagonal discs. More...
 
bool allowsSpun () const
 Determines if the coordinate system being used allows for spun normal surfaces. More...
 
bool allowsOriented () const
 Determines if the coordinate system being used allows for transversely oriented normal surfaces. More...
 
bool isEmbeddedOnly () const
 Returns whether this set is known to contain only embedded normal surfaces. More...
 
NTriangulationtriangulation () const
 Returns the triangulation in which these normal surfaces live. More...
 
REGINA_DEPRECATED NTriangulationgetTriangulation () const
 Deprecated routine that returns the triangulation in which these normal surfaces live. More...
 
size_t size () const
 Returns the number of surfaces stored in this list. More...
 
REGINA_DEPRECATED size_t getNumberOfSurfaces () const
 Deprecated routine to return the number of surfaces stored in this list. More...
 
const NNormalSurfacesurface (size_t index) const
 Returns the surface at the requested index in this set. More...
 
REGINA_DEPRECATED const NNormalSurfacegetSurface (size_t index) const
 Deprecated routine that returns the surface at the requested index in this set. More...
 
void writeAllSurfaces (std::ostream &out) const
 Writes the number of surfaces in this set followed by the details of each surface to the given output stream. More...
 
void writeTextShort (std::ostream &out) const
 Writes a short text representation of this object to the given output stream. More...
 
void writeTextLong (std::ostream &out) const
 Writes a detailed text representation of this object to the given output stream. More...
 
std::string str () const
 Returns a short text representation of this object. More...
 
std::string utf8 () const
 Returns a short text representation of this object using unicode characters. More...
 
std::string detail () const
 Returns a detailed text representation of this object. More...
 
REGINA_DEPRECATED std::string toString () const
 A deprecated alias for str(). More...
 
REGINA_DEPRECATED std::string toStringLong () const
 A deprecated alias for detail(). More...
 

Detailed Description

Represents a subset of a normal surface list.

This subset merely contains pointers to some of the normal surfaces stored in the original list.

If the surfaces in the original list should change, the surfaces in this subset will thus change also. If the original list is deleted, this subset will become invalid.

Precondition
As long as this subset is in use, the surface list upon which this subset is based must never be deleted.

Constructor & Destructor Documentation

§ NSurfaceSubset()

regina::NSurfaceSubset::NSurfaceSubset ( const NNormalSurfaceList list,
const NSurfaceFilter filter 
)

Creates a new normal surface subset.

The surfaces included in the subset will be those from the given set that are accepted by the given filter.

Parameters
listthe surface list for which this will be a subset.
filterthe filter that defines which surfaces in list will be included in this subset.

Member Function Documentation

§ allowsAlmostNormal()

bool regina::NSurfaceSubset::allowsAlmostNormal ( ) const
inline

Determines if the coordinate system being used allows for almost normal surfaces, that is, allows for octagonal discs.

Returns
true if and only if almost normal surfaces are allowed.

§ allowsOriented()

bool regina::NSurfaceSubset::allowsOriented ( ) const
inline

Determines if the coordinate system being used allows for transversely oriented normal surfaces.

Returns
true if and only if transverse orientations are supported.

§ allowsSpun()

bool regina::NSurfaceSubset::allowsSpun ( ) const
inline

Determines if the coordinate system being used allows for spun normal surfaces.

Returns
true if and only if spun normal surface are supported.

§ coords()

NormalCoords regina::NSurfaceSubset::coords ( ) const
inline

Returns the coordinate system being used by the surfaces stored in this set.

Returns
the coordinate system used.

§ detail()

std::string regina::Output< NSurfaceSubset , false >::detail ( ) const
inherited

Returns a detailed text representation of this object.

This text may span many lines, and should provide the user with all the information they could want. It should be human-readable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.

Returns
a detailed text representation of this object.

§ getFlavour()

NormalCoords regina::NSurfaceSubset::getFlavour ( ) const
inline

Returns the coordinate system being used by the surfaces stored in this set.

Deprecated:
Users should switch to the identical routine coords() instead.
Returns
the coordinate system used.

§ getNumberOfSurfaces()

size_t regina::NSurfaceSubset::getNumberOfSurfaces ( ) const
inline

Deprecated routine to return the number of surfaces stored in this list.

Deprecated:
Please use the identical routine size() instead.
Returns
the number of surfaces.

§ getSurface()

const NNormalSurface * regina::NSurfaceSubset::getSurface ( size_t  index) const
inline

Deprecated routine that returns the surface at the requested index in this set.

Deprecated:
This routine has been renamed to surface(). See the surface() documentation for further details.

§ getTriangulation()

NTriangulation * regina::NSurfaceSubset::getTriangulation ( ) const
inline

Deprecated routine that returns the triangulation in which these normal surfaces live.

Deprecated:
This routine has been renamed to triangulation(). See the triangulation() documentation for further details.

§ isEmbeddedOnly()

bool regina::NSurfaceSubset::isEmbeddedOnly ( ) const
inline

Returns whether this set is known to contain only embedded normal surfaces.

If it is possible that there are non-embedded surfaces in this set but it is not known whether any are actually present or not, this routine should return false.

Returns
true if it is known that only embedded normal surfaces exist in this list, or false if immersed and/or singular normal surfaces might be present.

§ size()

size_t regina::NSurfaceSubset::size ( ) const
inline

Returns the number of surfaces stored in this list.

Returns
the number of surfaces.

§ str()

std::string regina::Output< NSurfaceSubset , false >::str ( ) const
inherited

Returns a short text representation of this object.

This text should be human-readable, should fit on a single line, and should not end with a newline. Where possible, it should use plain ASCII characters.

Python:
In addition to str(), this is also used as the Python "stringification" function __str__().
Returns
a short text representation of this object.

§ surface()

const NNormalSurface * regina::NSurfaceSubset::surface ( size_t  index) const
inline

Returns the surface at the requested index in this set.

Parameters
indexthe index of the requested surface in this set; this must be between 0 and size()-1 inclusive.
Returns
the normal surface at the requested index in this set.

§ toString()

REGINA_DEPRECATED std::string regina::Output< NSurfaceSubset , false >::toString ( ) const
inherited

A deprecated alias for str().

Deprecated:
This routine has (at long last) been deprecated; use the simpler-to-type str() instead.
Returns
a short text representation of this object.

§ toStringLong()

REGINA_DEPRECATED std::string regina::Output< NSurfaceSubset , false >::toStringLong ( ) const
inherited

A deprecated alias for detail().

Deprecated:
This routine has (at long last) been deprecated; use the simpler-to-type detail() instead.
Returns
a long text representation of this object.

§ triangulation()

NTriangulation * regina::NSurfaceSubset::triangulation ( ) const
inline

Returns the triangulation in which these normal surfaces live.

Returns
the triangulation in which these surfaces live.

§ utf8()

std::string regina::Output< NSurfaceSubset , false >::utf8 ( ) const
inherited

Returns a short text representation of this object using unicode characters.

Like str(), this text should be human-readable, should fit on a single line, and should not end with a newline. In addition, it may use unicode characters to make the output more pleasant to read. This string will be encoded in UTF-8.

Returns
a short text representation of this object.

§ writeAllSurfaces()

void regina::NSurfaceSubset::writeAllSurfaces ( std::ostream &  out) const

Writes the number of surfaces in this set followed by the details of each surface to the given output stream.

Output will be over many lines.

Python:
Parameter out is not present and is assumed to be standard output.
Parameters
outthe output stream to which to write.

§ writeTextLong()

void regina::NSurfaceSubset::writeTextLong ( std::ostream &  out) const
inline

Writes a detailed text representation of this object to the given output stream.

Python:
Not present.
Parameters
outthe output stream to which to write.

§ writeTextShort()

void regina::NSurfaceSubset::writeTextShort ( std::ostream &  out) const
inline

Writes a short text representation of this object to the given output stream.

Python:
Not present.
Parameters
outthe output stream to which to write.

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

Copyright © 1999-2016, 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@maths.uq.edu.au).