#include <nsurfaceset.h>
Inheritance diagram for regina::NSurfaceSet:
Public Member Functions | |
virtual int | getFlavour () const=0 |
Returns the flavour of coordinate system being used by the surfaces stored in this set. | |
virtual bool | allowsAlmostNormal () const=0 |
Determines if the flavour of coordinate system being used allows for almost normal surfaces, that is, allows for octahedral discs. | |
virtual bool | isEmbeddedOnly () const=0 |
Returns whether this set is known to contain only embedded normal surfaces. | |
virtual NTriangulation * | getTriangulation () const=0 |
Returns the triangulation upon which these normal surfaces are based. | |
virtual unsigned long | getNumberOfSurfaces () const=0 |
Returns the number of surfaces stored in this set. | |
virtual const NNormalSurface * | getSurface (unsigned long index) const=0 |
Returns the surface at the requested index in this set. | |
virtual ShareableObject * | getShareableObject ()=0 |
Returns this object cast as a ShareableObject. | |
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. |
This is a completely abstract base class used to provide a common interface to different types of surface sets.
Any class derived from NSurfaceSet must maintain a fixed set of surfaces; no surfaces may be added to or removed from the set. Surfaces in the set may however be modified.
|
Determines if the flavour of coordinate system being used allows for almost normal surfaces, that is, allows for octahedral discs.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
Returns the flavour of coordinate system being used by the surfaces stored in this set. This will be one of the predefined coordinate system constants in NNormalSurfaceList.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
Returns the number of surfaces stored in this set.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
Returns this object cast as a ShareableObject.
Generally the implementation of this routine will simply be This routine is necessary because NSurfaceSet is not of type ShareableObject; however, it is presumed that each of its derived classes will be. The aim here is to reduce the mess that could arise combining virtual multiple inheritance with the voluminous casting and recasting that takes place when working with external interfaces.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
Returns the surface at the requested index in this set.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
Returns the triangulation upon which these normal surfaces are based.
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
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
Implemented in regina::NNormalSurfaceList, and regina::NSurfaceSubset. |
|
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.
|