Regina Calculation Engine
|
A saturated block that is a layered solid torus. More...
#include <subcomplex/satblocktypes.h>
Public Types | |
typedef std::set< Tetrahedron< 3 > * > | TetList |
The data structure used to store a list of tetrahedra that should not be examined by isBlock(). More... | |
Public Member Functions | |
SatLST (const SatLST &cloneMe) | |
Constructs a clone of the given block structure. More... | |
~SatLST () | |
Destroys this structure and its internal components. More... | |
const LayeredSolidTorus * | lst () const |
Returns details of the layered solid torus that this block represents. More... | |
Perm< 4 > | roles () const |
Describes how the layered solid torus is attached to the boundary annulus. More... | |
virtual SatBlock * | clone () const |
Returns a newly created clone of this saturated block structure. More... | |
virtual void | adjustSFS (SFSpace &sfs, bool reflect) const |
Adjusts the given Seifert fibred space to insert the contents of this saturated block. More... | |
virtual void | transform (const Triangulation< 3 > *originalTri, const Isomorphism< 3 > *iso, Triangulation< 3 > *newTri) |
Adjusts the structure of this block according to the given isomorphism between triangulations. More... | |
virtual void | writeTextShort (std::ostream &out) const |
Writes a short text representation of this object to the given output stream. More... | |
virtual void | writeAbbr (std::ostream &out, bool tex=false) const |
Writes an abbreviated name or symbol for this block to the given output stream. More... | |
unsigned | nAnnuli () const |
Returns the number of annuli on the boundary of this saturated block. More... | |
const SatAnnulus & | annulus (unsigned which) const |
Returns details of the requested annulus on the boundary of this saturated block. More... | |
bool | twistedBoundary () const |
Is the ring of boundary annuli twisted to form a long Mobius strip? More... | |
bool | hasAdjacentBlock (unsigned whichAnnulus) const |
Returns whether there is another saturated block listed as being adjacent to the given boundary annulus of this block. More... | |
SatBlock * | adjacentBlock (unsigned whichAnnulus) const |
Returns the saturated block listed as being adjacent to the given boundary annulus of this block. More... | |
unsigned | adjacentAnnulus (unsigned whichAnnulus) const |
Returns which specific annulus of the adjacent block is listed as being adjacent to the given boundary annulus of this block. More... | |
bool | adjacentReflected (unsigned whichAnnulus) const |
Returns whether the adjacency along the given boundary annulus of this block is reflected. More... | |
bool | adjacentBackwards (unsigned whichAnnulus) const |
Returns whether the adjacency along the given boundary annulus of this block is backwards. More... | |
void | setAdjacent (unsigned whichAnnulus, SatBlock *adjBlock, unsigned adjAnnulus, bool adjReflected, bool adjBackwards) |
Lists the given saturated block as being adjacent to the given boundary annulus of this block. More... | |
void | nextBoundaryAnnulus (unsigned thisAnnulus, SatBlock *&nextBlock, unsigned &nextAnnulus, bool &refVert, bool &refHoriz, bool followPrev) |
Finds the next (or previous) boundary annulus around from this, treating all adjacent blocks as part of a single large saturated region. More... | |
std::string | abbr (bool tex=false) const |
Returns an abbreviated name or symbol for this block. More... | |
bool | operator< (const SatBlock &compare) const |
Implements a consistent ordering of saturated blocks. More... | |
virtual 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... | |
Static Public Member Functions | |
static SatLST * | isBlockLST (const SatAnnulus &annulus, TetList &avoidTets) |
Determines whether the given annulus is a boundary annulus for a block of this type (layered solid torus). More... | |
static SatBlock * | isBlock (const SatAnnulus &annulus, TetList &avoidTets) |
Determines whether the given annulus is in fact a boundary annulus for a recognised type of saturated block. More... | |
Static Protected Member Functions | |
static bool | isBad (Tetrahedron< 3 > *t, const TetList &list) |
Determines whether the given tetrahedron is contained within the given list. More... | |
template<class List > | |
static bool | isBad (Tetrahedron< 3 > *t, const List &list) |
Determines whether the given tetrahedron is contained within the given list. More... | |
static bool | notUnique (Tetrahedron< 3 > *test) |
Determines whether the given tetrahedron pointer is null. More... | |
static bool | notUnique (Tetrahedron< 3 > *test, Tetrahedron< 3 > *other1) |
Determines whether the given tetrahedron pointer is null or equal to another from the given list. More... | |
static bool | notUnique (Tetrahedron< 3 > *test, Tetrahedron< 3 > *other1, Tetrahedron< 3 > *other2) |
Determines whether the given tetrahedron pointer is null or equal to another from the given list. More... | |
static bool | notUnique (Tetrahedron< 3 > *test, Tetrahedron< 3 > *other1, Tetrahedron< 3 > *other2, Tetrahedron< 3 > *other3) |
Determines whether the given tetrahedron pointer is null or equal to another from the given list. More... | |
static bool | notUnique (Tetrahedron< 3 > *test, Tetrahedron< 3 > *other1, Tetrahedron< 3 > *other2, Tetrahedron< 3 > *other3, Tetrahedron< 3 > *other4) |
Determines whether the given tetrahedron pointer is null or equal to another from the given list. More... | |
Protected Attributes | |
unsigned | nAnnuli_ |
The number of boundary annuli. More... | |
SatAnnulus * | annulus_ |
Details of each boundary annulus, as seen from the inside of this saturated block. More... | |
bool | twistedBoundary_ |
Is the ring of boundary annuli twisted to form a Mobius band? More... | |
SatBlock ** | adjBlock_ |
The saturated block joined to each boundary annulus; this may be null if there is no adjacency or if this information is not known. More... | |
unsigned * | adjAnnulus_ |
Describes which specific annulus of the adjacent saturated block is joined to each boundary annulus of this block. More... | |
bool * | adjReflected_ |
Describes whether the adjacency for each boundary annulus is reflected (see the class notes above). More... | |
bool * | adjBackwards_ |
Describes whether the adjacency for each boundary annulus is backwards (see the class notes above). More... | |
A saturated block that is a layered solid torus.
See the LayeredSolidTorus class for details.
The three boundary edges of the layered solid torus are attached to the vertical, horizontal and diagonal edges of the boundary annulus; see the SatAnnulus class notes for details on precisely what vertical, horizontal and diagonal mean.
|
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.
|
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.
__str__()
.
|
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.