|
Regina Calculation Engine
|
Represents a signature of a splitting surface in a closed 3-manifold triangulation. More...
#include <split/signature.h>
Public Member Functions | |
| Signature (const Signature &sig) | |
| Creates a new signature that is a clone of the given signature. More... | |
| ~Signature () | |
| Destroys this signature. More... | |
| unsigned | order () const |
| Returns the order of this signature. More... | |
| Triangulation< 3 > * | triangulate () const |
| Returns a newly created 3-manifold triangulation corresponding to this splitting surface signature. More... | |
| void | writeCycles (std::ostream &out, const std::string &cycleOpen, const std::string &cycleClose, const std::string &cycleJoin) const |
| Writes a string representation of this signature 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... | |
| Signature & | operator= (const Signature &)=delete |
| void | writeTextLong (std::ostream &out) const |
| A default implementation for detailed output. 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... | |
Static Public Member Functions | |
| static Signature * | parse (const std::string &sig) |
| Parses the given signature string. More... | |
| static int | cycleCmp (const Signature &sig1, unsigned cycle1, unsigned start1, int dir1, unsigned *relabel1, const Signature &sig2, unsigned cycle2, unsigned start2, int dir2, unsigned *relabel2) |
| Lexicographically compares the results of transformations upon two given cycles. More... | |
Friends | |
| class | regina::SigPartialIsomorphism |
| class | regina::SigCensus |
Represents a signature of a splitting surface in a closed 3-manifold triangulation.
A splitting surface is (for these purposes) a compact normal surface consisting of precisely one quad per tetrahedron and no other normal (or almost normal) discs.
A signature of order n is a string consisting of 2n letters arranged into cycles, where n is the number of quads in the splitting surface. From a signature, the corresponding splitting surface and then the entire 3-manifold triangulation can be recreated.
A signature of order n uses the first n letters of the alphabet, each precisely twice. Case is important; the meaning of a letter changes according to whether it appears in upper-case or lower-case.
Each letter represents an individual quadrilateral (the two occurrences of the letter representing the quadrilateral's two sides). Each cycle represents a chain of quadrilaterals joined together in the splitting surface. The case of a letter represents in which direction a quadrilateral is traversed within a cycle.
Cycles are arranged into cycle groups, where a cycle group consists of a series of consecutive cycles all of the same length.
An example of a signature is (abc)(a)(b)(c). This signature is of order 3 and contains two cycle groups, the first being (abc) and the second being (a)(b)(c).
A signature cannot represent a splitting surface with more than 26 quadrilaterals.
For further details on splitting surfaces and their signatures, consult Minimal triangulations and normal surfaces, Burton, PhD thesis, available from the Regina website.
|
inlineinherited |
A default implementation for detailed output.
This routine simply calls T::writeTextShort() and appends a final newline.
| out | the output stream to which to write. |