Regina Calculation Engine
|
A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed. More...
#include <census/gluingpermsearcher3.h>
Public Member Functions | |
TetEdgeState () | |
Constructor for a standalone tetrahedron edge in an equivalence class all of its own. More... | |
void | dumpData (std::ostream &out, unsigned nTets) const |
Dumps all internal data in a plain text format to the given output stream. More... | |
bool | readData (std::istream &in, unsigned nTets) |
Fills this state with data read from the given input stream. More... | |
Public Attributes | |
int | parent |
The index of the parent object in the current tree, or -1 if this object is the root of the tree. More... | |
unsigned | rank |
The depth of the subtree beneath this object (where a leaf node has depth zero). More... | |
unsigned | size |
The total number of objects in the subtree descending from this object (where this object is counted also). More... | |
bool | bounded |
Does this equivalence class of tetrahedron edges represent a boundary edge? More... | |
char | twistUp |
Each tetrahedron edge can be assigned an orientation pointing from the lower numbered tetrahedron vertex to the higher. More... | |
bool | hadEqualRank |
Did this tree have rank equal to its parent immediately before it was grafted beneath its parent? This information is used to maintain the ranks correctly when grafting operations are undone. More... | |
QitmaskLen64 | facesPos |
Indicates how many times this edge runs along the boundary of each tetrahedron face in the positive direction. More... | |
QitmaskLen64 | facesNeg |
Indicates how many times this edge runs along the boundary of each tetrahedron face in the negative direction. More... | |
A structure used to track equivalence classes of tetrahedron edges as the gluing permutation set is constructed.
Two edges are considered equivalent if they are identified within the triangulation.
Tetrahedron edges are indexed linearly by tetrahedron and then edge number. Specifically, edge e (0..5) of tetrahedron t (0..nTets-1) has index 6t+e.
Each equivalence class of edges corresponds to a tree of TetEdgeState objects, arranged to form a modified union-find structure.