CGAL 5.1 - 3D Polyhedral Surface
CGAL::Polyhedron_3< Traits >::Vertex Class Reference

#include <CGAL/Polyhedron_3.h>

Definition

template<typename Traits>
class CGAL::Polyhedron_3< Traits >::Vertex

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 figurePolyOptionalMethods 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 Halfedge::prev(), otherwise it is of the forward category.

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

Types

typedef unspecified_type Halfedge
 type of incident halfedges. More...
 
typedef unspecified_type Facet
 type of incident facets. More...
 
typedef unspecified_type Point_3
 point type stored in vertices. More...
 
typedef unspecified_type Vertex_handle
 handle to vertex. More...
 
typedef unspecified_type Halfedge_handle
 handle to halfedge. More...
 
typedef unspecified_type Facet_handle
 handle to facet. More...
 
typedef unspecified_type Halfedge_around_vertex_circulator
 circulator of halfedges around a vertex. More...
 
typedef unspecified_type Vertex_const_handle
 
typedef unspecified_type Halfedge_const_handle
 
typedef unspecified_type Facet_const_handle
 
typedef unspecified_type Halfedge_around_vertex_const_circulator
 
typedef unspecified_type Supports_vertex_halfedge
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false. More...
 
typedef unspecified_type Supports_vertex_point
 \( \equiv\) CGAL::Tag_true or CGAL::Tag_false. More...
 

Creation

 Vertex ()
 default constructor. More...
 
 Vertex (const Point &p)
 vertex initialized with a point. More...
 

Operations available if Supports_vertex_point is CGAL::Tag_true

Point_3point ()
 
const Point_3point () const
 the point. More...
 

Operations available if Supports_vertex_halfedge is CGAL::Tag_true

Halfedge_handle halfedge ()
 
Halfedge_const_handle halfedge () const
 an incident halfedge that points to v. More...
 
Halfedge_around_vertex_circulator vertex_begin ()
 
Halfedge_around_vertex_const_circulator vertex_begin () const
 circulator of halfedges around the vertex (clockwise). More...
 
void set_halfedge (Halfedge_handle h)
 sets incident halfedge to h. More...
 
std::size_t vertex_degree () const
 the degree of the vertex, i.e., number of edges emanating from this vertex. More...
 
bool is_bivalent () const
 returns true if the vertex has exactly two incident edges. More...
 
bool is_trivalent () const
 returns true if the vertex has exactly three incident edges. More...
 

Member Typedef Documentation

◆ Facet

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Facet

type of incident facets.

◆ Facet_const_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Facet_const_handle

◆ Facet_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Facet_handle

handle to facet.

◆ Halfedge

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Halfedge

type of incident halfedges.

◆ Halfedge_around_vertex_circulator

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Halfedge_around_vertex_circulator

circulator of halfedges around a vertex.

◆ Halfedge_around_vertex_const_circulator

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Halfedge_around_vertex_const_circulator

◆ Halfedge_const_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Halfedge_const_handle

◆ Halfedge_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Halfedge_handle

handle to halfedge.

◆ Point_3

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Point_3

point type stored in vertices.

◆ Supports_vertex_halfedge

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Supports_vertex_halfedge

◆ Supports_vertex_point

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Supports_vertex_point

◆ Vertex_const_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Vertex_const_handle

◆ Vertex_handle

template<typename Traits >
typedef unspecified_type CGAL::Polyhedron_3< Traits >::Vertex::Vertex_handle

handle to vertex.

Constructor & Destructor Documentation

◆ Vertex() [1/2]

template<typename Traits >
CGAL::Polyhedron_3< Traits >::Vertex::Vertex ( )

default constructor.

◆ Vertex() [2/2]

template<typename Traits >
CGAL::Polyhedron_3< Traits >::Vertex::Vertex ( const Point &  p)

vertex initialized with a point.

Member Function Documentation

◆ halfedge() [1/2]

template<typename Traits >
Halfedge_handle CGAL::Polyhedron_3< Traits >::Vertex::halfedge ( )

◆ halfedge() [2/2]

template<typename Traits >
Halfedge_const_handle CGAL::Polyhedron_3< Traits >::Vertex::halfedge ( ) const

an incident halfedge that points to v.

◆ is_bivalent()

template<typename Traits >
bool CGAL::Polyhedron_3< Traits >::Vertex::is_bivalent ( ) const

returns true if the vertex has exactly two incident edges.

◆ is_trivalent()

template<typename Traits >
bool CGAL::Polyhedron_3< Traits >::Vertex::is_trivalent ( ) const

returns true if the vertex has exactly three incident edges.

◆ point() [1/2]

template<typename Traits >
Point_3& CGAL::Polyhedron_3< Traits >::Vertex::point ( )

◆ point() [2/2]

template<typename Traits >
const Point_3& CGAL::Polyhedron_3< Traits >::Vertex::point ( ) const

the point.

◆ set_halfedge()

template<typename Traits >
void CGAL::Polyhedron_3< Traits >::Vertex::set_halfedge ( Halfedge_handle  h)

sets incident halfedge to h.

Precondition
h is incident, i.e., h->vertex() == v.

◆ vertex_begin() [1/2]

template<typename Traits >
Halfedge_around_vertex_circulator CGAL::Polyhedron_3< Traits >::Vertex::vertex_begin ( )

◆ vertex_begin() [2/2]

template<typename Traits >
Halfedge_around_vertex_const_circulator CGAL::Polyhedron_3< Traits >::Vertex::vertex_begin ( ) const

circulator of halfedges around the vertex (clockwise).

◆ vertex_degree()

template<typename Traits >
std::size_t CGAL::Polyhedron_3< Traits >::Vertex::vertex_degree ( ) const

the degree of the vertex, i.e., number of edges emanating from this vertex.