#include <ntetrahedron.h>
Inheritance diagram for regina::NTetrahedron:
Public Member Functions | |
NTetrahedron () | |
Creates a new tetrahedron with empty description and no faces joined to anything. | |
NTetrahedron (const std::string &desc) | |
Creates a new tetrahedron with the given description and no faces joined to anything. | |
virtual | ~NTetrahedron () |
Destroys this tetrahedron. | |
const std::string & | getDescription () const |
Returns the text description associated with this tetrahedron. | |
void | setDescription (const std::string &desc) |
Sets the text description associated with this tetrahedron. | |
NTetrahedron * | getAdjacentTetrahedron (int face) const |
Returns the tetrahedron glued to the given face of this tetrahedron, or 0 if the given face is on the triangulation boundary. | |
NPerm | getAdjacentTetrahedronGluing (int face) const |
Returns a permutation representing the correspondence between vertices of this tetrahedron and vertices of the tetrahedron glued to the given face of this tetrahedron. | |
int | getAdjacentFace (int face) const |
Examines the tetrahedron glued to the given face of this tetrahedron and returns the corresponding face of that tetrahedron. | |
bool | hasBoundary () const |
Determines if this tetrahedron has any faces that are boundary faces. | |
void | joinTo (int myFace, NTetrahedron *you, NPerm gluing) |
Joins the given face of this tetrahedron to another tetrahedron. | |
NTetrahedron * | unjoin (int myFace) |
Unglues the given face of this tetrahedron from whatever is joined to it. | |
void | isolate () |
Undoes any face gluings involving this tetrahedron. | |
NComponent * | getComponent () const |
Returns the triangulation component to which this tetrahedron belongs. | |
NVertex * | getVertex (int vertex) const |
Returns the vertex in the triangulation skeleton corresponding to the given vertex of this tetrahedron. | |
NEdge * | getEdge (int edge) const |
Returns the edge in the triangulation skeleton corresponding to the given edge of this tetrahedron. | |
NFace * | getFace (int face) const |
Returns the face in the triangulation skeleton corresponding to the given face of this tetrahedron. | |
NPerm | getEdgeMapping (int edge) const |
The edge in the skeleton corresponding to the requested edge of this tetrahedron is examined, and a permutation mapping vertices (0,1) of the skeleton edge to the corresponding vertices of this tetrahedron is returned. | |
NPerm | getFaceMapping (int face) const |
The face in the skeleton corresponding to the requested face of this tetrahedron is examined, and a permutation mapping vertices (0,1,2) of the skeleton face to the corresponding vertices of this tetrahedron is returned. | |
void | writeTextShort (std::ostream &out) const |
Writes this object in short text format to the given output stream. |
With each tetrahedron is stored various pieces of information regarding the overall skeletal structure and component structure of the triangulation. This information will be allocated, calculated and deallocated by the NTriangulation object containing the corresponding tetrahedra.
Whenever the gluings of tetrahedra are altered, the external routine responsible for changing the gluings (the routine that calls joinTo() and unjoin()) must call NTriangulation::gluingsHaveChanged() for the triangulation containing the tetrahedra concerned; this will ensure that skeletal information and other properties of the triangulation are recalculated when necessary.
|
Creates a new tetrahedron with empty description and no faces joined to anything.
|
|
Creates a new tetrahedron with the given description and no faces joined to anything.
|
|
Destroys this tetrahedron.
|
|
Examines the tetrahedron glued to the given face of this tetrahedron and returns the corresponding face of that tetrahedron. That is, the returned face of the adjacent tetrahedron is glued to the given face of this tetrahedron.
|
|
Returns the tetrahedron glued to the given face of this tetrahedron, or 0 if the given face is on the triangulation boundary.
|
|
Returns a permutation representing the correspondence between vertices of this tetrahedron and vertices of the tetrahedron glued to the given face of this tetrahedron.
If we call the returned permutation
|
|
Returns the triangulation component to which this tetrahedron belongs.
|
|
Returns the text description associated with this tetrahedron.
|
|
Returns the edge in the triangulation skeleton corresponding to the given edge of this tetrahedron.
|
|
The edge in the skeleton corresponding to the requested edge of this tetrahedron is examined, and a permutation mapping vertices (0,1) of the skeleton edge to the corresponding vertices of this tetrahedron is returned.
Thus, for each
Furthermore, following the ordered edges defined by the images of (2,3) under the returned permutations will produce an ordered chain circling the skeleton edge. That is, if tetrahedra
|
|
Returns the face in the triangulation skeleton corresponding to the given face of this tetrahedron.
|
|
The face in the skeleton corresponding to the requested face of this tetrahedron is examined, and a permutation mapping vertices (0,1,2) of the skeleton face to the corresponding vertices of this tetrahedron is returned.
Thus, for each
|
|
Returns the vertex in the triangulation skeleton corresponding to the given vertex of this tetrahedron.
|
|
Determines if this tetrahedron has any faces that are boundary faces.
|
|
Undoes any face gluings involving this tetrahedron. Any other tetrahedra involved will be automatically updated. |
|
Joins the given face of this tetrahedron to another tetrahedron. The other tetrahedron involved will be automatically updated.
|
|
Sets the text description associated with this tetrahedron. Note that descriptions need not be unique, and may be empty.
|
|
Unglues the given face of this tetrahedron from whatever is joined to it. The other tetrahedron involved (possibly this one) will be automatically updated.
|
|
Writes this object in short text format to the given output stream. The output should fit on a single line and no newline should be written.
Implements regina::ShareableObject. |