#include <nvertex.h>
Public Member Functions | |
NVertex (NComponent *myComponent) | |
Creates a new vertex and specifies it as belonging to the given triangulation component. | |
virtual | ~NVertex () |
Default destructor. | |
const std::vector < NVertexEmbedding > & | getEmbeddings () const |
Returns the list of descriptors of how this vertex forms a part of various tetrahedra in the triangulation. | |
unsigned long | getNumberOfEmbeddings () const |
Returns the number of descriptors in the list returned by getEmbeddings(). | |
const NVertexEmbedding & | getEmbedding (unsigned long index) const |
Returns the requested descriptor from the list returned by getEmbeddings(). | |
NComponent * | getComponent () const |
Returns the component of the triangulation to which this vertex belongs. | |
NBoundaryComponent * | getBoundaryComponent () const |
Returns the boundary component of the triangulation to which this vertex belongs. | |
unsigned long | getDegree () const |
Returns the degree of this vertex. | |
int | getLink () const |
Returns a description of the link of the vertex. | |
bool | isLinkClosed () const |
Determines if the link of this vertex is closed. | |
bool | isIdeal () const |
Determines if this vertex is an ideal vertex. | |
bool | isBoundary () const |
Determines if this vertex lies on the boundary of the triangulation. | |
bool | isStandard () const |
Determines if this vertex is standard. | |
bool | isLinkOrientable () const |
Determines if the vertex link is orientable. | |
long | getLinkEulerCharacteristic () const |
Returns the Euler characteristic of the vertex link. | |
void | writeTextShort (std::ostream &out) const |
Writes this object in short text format to the given output stream. | |
Static Public Attributes | |
static const int | SPHERE |
Specifies a vertex link that is a sphere. | |
static const int | DISC |
Specifies a vertex link that is a disc. | |
static const int | TORUS |
Specifies a vertex link that is a torus. | |
static const int | KLEIN_BOTTLE |
Specifies a vertex link that is a Klein bottle. | |
static const int | NON_STANDARD_CUSP |
Specifies a vertex link that is closed and is not a sphere, torus or Klein bottle. | |
static const int | NON_STANDARD_BDRY |
Specifies a vertex link that has boundary and is not a disc. | |
Friends | |
class | NTriangulation |
Allow access to private members. |
Vertices are highly temporary; once a triangulation changes, all its vertex objects will be deleted and new ones will be created.
regina::NVertex::NVertex | ( | NComponent * | myComponent | ) | [inline] |
Creates a new vertex and specifies it as belonging to the given triangulation component.
myComponent | the triangulation component to which this vertex belongs. |
regina::NVertex::~NVertex | ( | ) | [inline, virtual] |
Default destructor.
const std::vector< NVertexEmbedding > & regina::NVertex::getEmbeddings | ( | ) | const [inline] |
Returns the list of descriptors of how this vertex forms a part of various tetrahedra in the triangulation.
Note that if this vertex represents multiple vertices of a particular tetrahedron, there will be multiple embedding descriptors in the list regarding that tetrahedron.
unsigned long regina::NVertex::getNumberOfEmbeddings | ( | ) | const [inline] |
Returns the number of descriptors in the list returned by getEmbeddings().
Note that this is identical to getDegree().
const NVertexEmbedding & regina::NVertex::getEmbedding | ( | unsigned long | index | ) | const [inline] |
Returns the requested descriptor from the list returned by getEmbeddings().
index | the index of the requested descriptor. This should be between 0 and getNumberOfEmbeddings()-1 inclusive. |
NComponent * regina::NVertex::getComponent | ( | ) | const [inline] |
Returns the component of the triangulation to which this vertex belongs.
NBoundaryComponent * regina::NVertex::getBoundaryComponent | ( | ) | const [inline] |
Returns the boundary component of the triangulation to which this vertex belongs.
See the note in the NBoundaryComponent overview regarding what happens if the vertex link is a multiply punctured surface. Note that this makes the vertex non-standard and the triangulation invalid.
An ideal vertex will have its own individual boundary component to which it belongs.
unsigned long regina::NVertex::getDegree | ( | ) | const [inline] |
Returns the degree of this vertex.
Note that this is identical to getNumberOfEmbeddings().
int regina::NVertex::getLink | ( | ) | const [inline] |
Returns a description of the link of the vertex.
bool regina::NVertex::isLinkClosed | ( | ) | const [inline] |
Determines if the link of this vertex is closed.
true
if and only if the link of this vertex is closed. bool regina::NVertex::isIdeal | ( | ) | const [inline] |
Determines if this vertex is an ideal vertex.
This requires the vertex link to be closed and not a 2-sphere.
true
if and only if this is an ideal vertex. bool regina::NVertex::isBoundary | ( | ) | const [inline] |
Determines if this vertex lies on the boundary of the triangulation.
Ideal vertices are included as being on the boundary. In fact, the only vertices not considered as on the boundary are those whose links are spheres.
true
if and only if this vertex lies on the boundary. bool regina::NVertex::isStandard | ( | ) | const [inline] |
Determines if this vertex is standard.
This requires the vertex link to be a sphere, disc, torus or Klein bottle.
true
if and only if this vertex is standard. bool regina::NVertex::isLinkOrientable | ( | ) | const [inline] |
Determines if the vertex link is orientable.
true
if and only if the vertex link is orientable. long regina::NVertex::getLinkEulerCharacteristic | ( | ) | const [inline] |
Returns the Euler characteristic of the vertex link.
void regina::NVertex::writeTextShort | ( | std::ostream & | out | ) | const [virtual] |
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.
out | the output stream to which to write. |
Implements regina::ShareableObject.
friend class NTriangulation [friend] |
Allow access to private members.
const int regina::NVertex::SPHERE [static] |
Specifies a vertex link that is a sphere.
const int regina::NVertex::DISC [static] |
Specifies a vertex link that is a disc.
const int regina::NVertex::TORUS [static] |
Specifies a vertex link that is a torus.
const int regina::NVertex::KLEIN_BOTTLE [static] |
Specifies a vertex link that is a Klein bottle.
const int regina::NVertex::NON_STANDARD_CUSP [static] |
Specifies a vertex link that is closed and is not a sphere, torus or Klein bottle.
const int regina::NVertex::NON_STANDARD_BDRY [static] |
Specifies a vertex link that has boundary and is not a disc.