Represents a face in the skeleton of a triangulation.
More...
#include <triangulation/nface.h>
List of all members.
Public Member Functions |
virtual | ~NFace () |
| Default destructor.
|
bool | isBoundary () const |
| Determines if this face lies entirely on the boundary of the triangulation.
|
int | getType () |
| Returns a description of the face type.
|
int | getSubtype () |
| Return the face vertex or face edge that plays a special role for the face type of this face.
|
bool | isMobiusBand () |
| Determines whether this face is wrapped up to form a Mobius band.
|
bool | isCone () |
| Determines whether this face is wrapped up to form a cone.
|
unsigned | getNumberOfEmbeddings () const |
| Returns the number of descriptors available through getEmbedding().
|
const NFaceEmbedding & | getEmbedding (unsigned index) const |
| Returns the requested descriptor detailing how this face forms a part of a particular tetrahedron in the triangulation.
|
NComponent * | getComponent () const |
| Returns the component of the triangulation to which this face belongs.
|
NBoundaryComponent * | getBoundaryComponent () const |
| Returns the boundary component of the triangulation to which this face belongs.
|
NVertex * | getVertex (int vertex) const |
| Returns the vertex of the triangulation that corresponds to the given vertex of this face.
|
NEdge * | getEdge (int edge) const |
| Returns the edge of the triangulation that corresponds to the given edge of this face.
|
NPerm4 | getEdgeMapping (int edge) const |
| Examines the given edge of this face, and returns a mapping from the "canonical" vertices of the corresponding edge of the triangulation to the vertices of this face.
|
void | writeTextShort (std::ostream &out) const |
| Writes this object in short text format to the given output stream.
|
| ShareableObject () |
| Default constructor that does nothing.
|
virtual | ~ShareableObject () |
| Default destructor that does nothing.
|
virtual void | writeTextLong (std::ostream &out) const |
| Writes this object in long text format to the given output stream.
|
std::string | toString () const |
| Returns the output from writeTextShort() as a string.
|
std::string | toStringLong () const |
| Returns the output from writeTextLong() as a string.
|
long | markedIndex () const |
| Returns the index at which this object is stored in an NMarkedVector.
|
Static Public Attributes |
static const int | TRIANGLE |
| Specifies a face with no identified vertices or edges.
|
static const int | SCARF |
| Specifies a face with two identified vertices.
|
static const int | PARACHUTE |
| Specifies a face with three identified vertices.
|
static const int | CONE |
| Specifies a face with two edges identified to form a cone.
|
static const int | MOBIUS |
| Specifies a face with two edges identified to form a mobius band.
|
static const int | HORN |
| Specifies a face with two edges identified to form a cone with all three vertices identified.
|
static const int | DUNCEHAT |
| Specifies a face with all three edges identified, some via orientable and some via non-orientable gluings.
|
static const int | L31 |
| Specifies a face with all three edges identified using non-orientable gluings.
|
static const NPerm4 | ordering [4] |
| An array that maps face numbers within a tetrahedron to the canonical ordering of the individual tetrahedron vertices that form each face.
|
Detailed Description
Represents a face in the skeleton of a triangulation.
Faces are highly temporary; once a triangulation changes, all its face objects will be deleted and new ones will be created.
Constructor & Destructor Documentation
regina::NFace::~NFace |
( |
| ) |
|
|
inlinevirtual |
Default destructor.
All embedding descriptors stored in this face will be automatically deleted.
Member Function Documentation
Returns the boundary component of the triangulation to which this face belongs.
- Returns:
- the boundary component containing this face, or 0 if this face does not lie entirely within the boundary of the triangulation.
NComponent * regina::NFace::getComponent |
( |
| ) |
const |
|
inline |
Returns the component of the triangulation to which this face belongs.
- Returns:
- the component containing this face.
NEdge* regina::NFace::getEdge |
( |
int |
edge | ) |
const |
Returns the edge of the triangulation that corresponds to the given edge of this face.
Note that edge i of a face is opposite vertex i of the face.
- Parameters:
-
edge | the edge of this face to examine. This should be 0, 1 or 2. |
- Returns:
- the corresponding edge of the triangulation.
NPerm4 regina::NFace::getEdgeMapping |
( |
int |
edge | ) |
const |
Examines the given edge of this face, and returns a mapping from the "canonical" vertices of the corresponding edge of the triangulation to the vertices of this face.
This routine behaves much the same as NTetrahedron::getEdgeMapping(), except that it maps the edge vertices into a face, not into a pentachoron. See NTetrahedron::getEdgeMapping() for a more detailed explanation of precisely what this mapping means.
This routine differs from NTetrahedron::getEdgeMapping() in how it handles the images of 2 and 3. This routine will always map 2 to the remaining vertex of this face (which is equal to the argument edge), and will always map 3 to itself.
- Parameters:
-
edge | the edge of this face to examine. This should be 0, 1 or 2. |
- Returns:
- a mapping from vertices (0,1) of the requested edge to the vertices of this face.
const NFaceEmbedding & regina::NFace::getEmbedding |
( |
unsigned |
index | ) |
const |
|
inline |
Returns the requested descriptor detailing how this face forms a part of a particular tetrahedron in the triangulation.
Note that if this face represents multiple faces of a particular tetrahedron, then there will be multiple embedding descriptors available regarding that tetrahedron.
- Parameters:
-
- Returns:
- the requested embedding descriptor.
unsigned regina::NFace::getNumberOfEmbeddings |
( |
| ) |
const |
|
inline |
Returns the number of descriptors available through getEmbedding().
Note that this number will never be greater than two.
- Returns:
- the number of embedding descriptors.
int regina::NFace::getSubtype |
( |
| ) |
|
|
inline |
Return the face vertex or face edge that plays a special role for the face type of this face.
Note that this routine is only relevant for some face types. The face type is returned by getType().
- Returns:
- The vertex or edge that plays a special role (this will be 0, 1 or 2), or -1 if this face type has no special vertex or edge.
int regina::NFace::getType |
( |
| ) |
|
Returns a description of the face type.
The face type describes how the edges and vertices of the face are identified.
- Returns:
- one of the predefined face type constants in NFace.
NVertex * regina::NFace::getVertex |
( |
int |
vertex | ) |
const |
|
inline |
Returns the vertex of the triangulation that corresponds to the given vertex of this face.
Note that vertex i of a face is opposite edge i of the face.
- Parameters:
-
vertex | the vertex of this face to examine. This should be 0, 1 or 2. |
- Returns:
- the corresponding vertex of the triangulation.
bool regina::NFace::isBoundary |
( |
| ) |
const |
|
inline |
Determines if this face lies entirely on the boundary of the triangulation.
- Returns:
true
if and only if this face lies on the boundary.
bool regina::NFace::isCone |
( |
| ) |
|
|
inline |
Determines whether this face is wrapped up to form a cone.
Note that several different face types (as returned by getType()) can produce this result. Note also that a face can be both a Mobius band and a cone.
- Returns:
true
if and only if this face is a cone.
bool regina::NFace::isMobiusBand |
( |
| ) |
|
|
inline |
Determines whether this face is wrapped up to form a Mobius band.
Note that several different face types (as returned by getType()) can produce this result. Note also that a face can be both a Mobius band and a cone.
- Returns:
true
if and only if this face is a Mobius band.
void regina::NFace::writeTextShort |
( |
std::ostream & |
out | ) |
const |
|
inlinevirtual |
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.
- Python:
- The parameter out does not exist; standard output will be used.
- Parameters:
-
out | the output stream to which to write. |
Implements regina::ShareableObject.
Friends And Related Function Documentation
Allow access to private members.
Member Data Documentation
const int regina::NFace::CONE |
|
static |
Specifies a face with two edges identified to form a cone.
const int regina::NFace::DUNCEHAT |
|
static |
Specifies a face with all three edges identified, some via orientable and some via non-orientable gluings.
const int regina::NFace::HORN |
|
static |
Specifies a face with two edges identified to form a cone with all three vertices identified.
const int regina::NFace::L31 |
|
static |
Specifies a face with all three edges identified using non-orientable gluings.
Note that this forms a spine for the Lens space L(3,1).
const int regina::NFace::MOBIUS |
|
static |
Specifies a face with two edges identified to form a mobius band.
const NPerm4 regina::NFace::ordering[4] |
|
static |
An array that maps face numbers within a tetrahedron to the canonical ordering of the individual tetrahedron vertices that form each face.
This means that the vertices of face i in a tetrahedron are, in canonical order, ordering[i][0..2]
. As an immediate consequence, we obtain ordering[i][3] == i
.
This table does not describe the mapping from specific triangulation faces into individual tetrahedra (for that, see NTetrahedron::getFaceMapping() instead). This table merely provides a neat and consistent way of listing the vertices of any given tetrahedron face.
This lookup table replaces the deprecated routine regina::faceOrdering().
const int regina::NFace::PARACHUTE |
|
static |
Specifies a face with three identified vertices.
const int regina::NFace::SCARF |
|
static |
Specifies a face with two identified vertices.
const int regina::NFace::TRIANGLE |
|
static |
Specifies a face with no identified vertices or edges.
The documentation for this class was generated from the following file: