CGAL::Polyhedron_3<Traits>::Vertex

Definition

A vertex optionally stores a point and a reference to an incident halfedge that points to the vertex. Type tags indicate whether these member functions are supported. Figure  reference arrow depicts the relationship between a halfedge and its incident halfedges, vertices, and facets. The circulator is assignable to the Halfedge_handle. The circulator is bidirectional if the halfedge provided to the polyhedron with the Items template argument provides a member function prev(), otherwise it is of the forward category.

#include <CGAL/Polyhedron_3.h>

Types

Polyhedron_3<Traits>::Vertex::Halfedge
type of incident halfedges.

Polyhedron_3<Traits>::Vertex::Facet
type of incident facets.

Polyhedron_3<Traits>::Vertex::Point_3
point type stored in vertices.


Polyhedron_3<Traits>::Vertex::Vertex_handle
handle to vertex.

Polyhedron_3<Traits>::Vertex::Halfedge_handle
handle to halfedge.

Polyhedron_3<Traits>::Vertex::Facet_handle
handle to facet.

Polyhedron_3<Traits>::Vertex::Halfedge_around_vertex_circulator
circulator of halfedges around a vertex.


Polyhedron_3<Traits>::Vertex::Vertex_const_handle
Polyhedron_3<Traits>::Vertex::Halfedge_const_handle
Polyhedron_3<Traits>::Vertex::Facet_const_handle
Polyhedron_3<Traits>::Vertex::Halfedge_around_vertex_const_circulator

Polyhedron_3<Traits>::Vertex::Supports_vertex_halfedge
CGAL::Tag_true or CGAL::Tag_false.

Polyhedron_3<Traits>::Vertex::Supports_vertex_point
CGAL::Tag_true or CGAL::Tag_false.

Creation

Polyhedron_3<Traits>::Vertex v;
default constructor.

Polyhedron_3<Traits>::Vertex v ( Point p);
vertex initialized with a point.

Operations available if Supports_vertex_point CGAL::Tag_true

Point_3& v.point ()
const Point_3& v.point () const the point.

Operations available if Supports_vertex_halfedge CGAL::Tag_true

Halfedge_handle v.halfedge ()
Halfedge_const_handle v.halfedge () const an incident halfedge that points to v.

Halfedge_around_vertex_circulator v.vertex_begin ()

Halfedge_around_vertex_const_circulator
v.vertex_begin () const circulator of halfedges around the vertex (clockwise).

void v.set_halfedge ( Halfedge_handle h)
sets incident halfedge to h.
Precondition: h is incident, i.e., h->vertex() == v.

std::size_t v.vertex_degree () const the degree of the vertex, i.e., number of edges emanating from this vertex.

bool v.is_bivalent () const returns true if the vertex has exactly two incident edges.

bool v.is_trivalent () const returns true if the vertex has exactly three incident edges.

See Also

CGAL::Polyhedron_3<Traits>::Halfedge
CGAL::Polyhedron_3<Traits>::Facet
CGAL::Polyhedron_3<Traits>