A packet that accepts or rejects normal surfaces.
More...
#include <surfaces/surfacefilter.h>
|
bool | save (const char *filename, bool compressed=true) const |
| Saves the subtree rooted at this packet to the given Regina data file, using Regina's native XML file format. More...
|
|
bool | save (std::ostream &s, bool compressed=true) const |
| Writes the subtree rooted at this packet to the given output stream, in the format of a Regina XML data file. More...
|
|
void | writeXMLFile (std::ostream &out) const |
| Writes the subtree rooted at this packet to the given output stream in Regina's native XML file format. More...
|
|
std::string | internalID () const |
| Returns a unique string ID that identifies this packet. More...
|
|
virtual void | writeTextLong (std::ostream &out) const |
| Writes a detailed text representation of this object to the given output stream. More...
|
|
bool | hasOwner () const |
| Indicates whether some other object in the calculation engine is responsible for ultimately destroying this object. More...
|
|
void | writeXMLPacketTree (std::ostream &out) const |
| Writes a chunk of XML containing the subtree with this packet as matriarch. More...
|
|
A packet that accepts or rejects normal surfaces.
Different subclasses of SurfaceFilter represent different filtering methods.
When deriving classes from SurfaceFilter:
-
A new value must be added to the SurfaceFilterType enum in surfacefiltertype.h to represent the new filter type.
-
The file filterregistry-impl.h must be updated to reflect the new filter type (the file itself contains instructions on how to do this).
-
A corresponding specialisation of SurfaceFilterInfo<> must be defined, typically in the same header as the new filter class.
-
The macro REGINA_SURFACE_FILTER must be added to the beginning of the new filter class. This will declare and define various constants, typedefs and virtual functions (see the REGINA_SURFACE_FILTER macro documentation for details).
-
A copy constructor
class(const class& cloneMe)
must be declared and implemented. You may assume that parameter cloneMe is of the same class as that whose constructor you are writing.
-
Virtual functions accept(), internalClonePacket(), writeTextLong() and writeXMLFilterData() must be overridden.
-
Static function xmlFilterReader() must be declared and implemented as described in the documentation below.
- Todo:
- Feature: Implement property lastAppliedTo.
◆ SafePointeeType
The type of object being pointed to.
◆ detail()
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.
◆ hasSafePtr()
Is there one or more SafePtr currently pointing to this object?
◆ str()
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:\n In addition to str(), this is also used as the
- Python "stringification" function
__str__()
.
- Returns
- a short text representation of this object.
◆ utf8()
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.
The documentation for this class was generated from the following file: