\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.5 - CGAL and the Boost Graph Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Namespaces

 Euler
 
 EulerImpl
 
 internal
 

Classes

class  halfedge_graph_traits< Polyhedron_3< Traits > >
 
class  HalfedgeDS_face_max_base_with_id
 The class HalfedgeDS_face_max_base_with_id is a model of the HalfedgeDSFace concept. More...
 
class  HalfedgeDS_halfedge_max_base_with_id
 The class HalfedgeDS_halfedge_max_base_with_id is a model of the HalfedgeDSHalfedge concept. More...
 
class  HalfedgeDS_vertex_max_base_with_id
 The class HalfedgeDS_vertex_max_base_with_id is a model of the HalfedgeDSVertex concept. More...
 
class  Polyhedron_items_with_id_3
 The class Polyhedron_items_with_id_3 is a model of the PolyhedronItems_3 concept. More...
 
class  Triangulation_vertex_base_with_id_2
 The class Triangulation_vertex_base_with_id_2 is a model of the concept TriangulationVertexBase_2, the base vertex of a 2D-triangulation. More...
 
class  Halfedge_around_source_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as source. More...
 
class  Halfedge_around_target_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as target. More...
 
class  Halfedge_around_face_iterator
 A bidirectional iterator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges incident to the same face. More...
 
class  Halfedge_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as target. More...
 
class  Halfedge_around_source_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges having the same vertex as source. More...
 
class  Face_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::face_descriptor over all faces incident to the same vertex. More...
 
class  Halfedge_around_face_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::halfedge_descriptor over all halfedges incident to the same face. More...
 
class  Face_around_face_iterator
 
class  Face_around_face_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::face_descriptor over all faces adjacent to the same face. More...
 
class  Face_around_target_iterator
 
class  Vertex_around_face_circulator
 
class  Vertex_around_face_iterator
 
class  Vertex_around_target_circulator
 A bidirectional circulator with value type boost::graph_traits<Graph>::vertex_descriptor over all vertices adjacent to the same vertex. More...
 
class  Vertex_around_target_iterator
 
class  Out_edge_iterator
 
class  In_edge_iterator
 

Enumerations

enum  vertex_is_border_t { vertex_is_border }
 The constant vertex_is_border is a property tag which refers to the property of a vertex of being a border vertex. More...
 
enum  vertex_point_t { vertex_point }
 The constant vertex_point is a property tag which refers to the geometric embedding property of a vertex of a HalfedgeGraph. More...
 

Functions

template<typename Graph >
std::pair
< Halfedge_around_source_iterator
< Graph >
, Halfedge_around_source_iterator
< Graph > > 
halfedges_around_source (typename boost::graph_traits< Graph >::halfedge_descriptor h, Graph &g)
 returns an iterator range over all halfedges with vertex source(h,g) as source.
 
template<typename Graph >
std::pair
< Halfedge_around_source_iterator
< Graph >
, Halfedge_around_source_iterator
< Graph > > 
halfedges_around_source (typename boost::graph_traits< Graph >::vertex_descriptor v, Graph &g)
 returns an iterator range over all halfedges with vertex v as source.
 
template<typename Graph >
std::pair
< Halfedge_around_target_iterator
< Graph >
, Halfedge_around_target_iterator
< Graph > > 
halfedges_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all halfedges with vertex target(h,g) as target.
 
template<typename Graph >
std::pair
< Halfedge_around_target_iterator
< Graph >
, Halfedge_around_target_iterator
< Graph > > 
halfedges_around_target (typename boost::graph_traits< Graph >::vertex_descriptor v, Graph &g)
 returns an iterator range over all halfedges with vertex v as target.
 
template<typename Graph >
std::pair
< Halfedge_around_face_iterator
< Graph >
, Halfedge_around_face_iterator
< Graph > > 
halfedges_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all halfedges incident to the same face as h.
 
template<typename Graph >
std::pair
< Face_around_target_iterator
< Graph >
, Face_around_target_iterator
< Graph > > 
faces_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all faces around vertex target(h,g).
 
template<typename Graph >
std::pair
< Face_around_face_iterator
< Graph >
, Face_around_face_iterator
< Graph > > 
faces_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all faces adjacent to the same face face(h,g).
 
template<typename Graph >
std::pair
< Vertex_around_target_iterator
< Graph >
, Vertex_around_target_iterator
< Graph > > 
adjacent_vertices (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 
template<typename Graph >
std::pair
< Vertex_around_target_iterator
< Graph >
, Vertex_around_target_iterator
< Graph > > 
adjacent_vertices (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g)
 
template<typename Graph >
std::pair
< Vertex_around_target_iterator
< Graph >
, Vertex_around_target_iterator
< Graph > > 
vertices_around_target (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all vertices adjacent to the vertex target(h,g).
 
template<typename Graph >
std::pair
< Vertex_around_target_iterator
< Graph >
, Vertex_around_target_iterator
< Graph > > 
vertices_around_target (typename boost::graph_traits< Graph >::vertex_descriptor v, const Graph &g)
 
template<typename Graph >
std::pair
< Vertex_around_face_iterator
< Graph >
, Vertex_around_face_iterator
< Graph > > 
vertices_around_face (typename boost::graph_traits< Graph >::halfedge_descriptor h, const Graph &g)
 returns an iterator range over all vertices adjacent to the face face(h,g).
 
template<typename HalfedgeGraph , typename PositionMap , typename NormalMap >
void calculate_face_normals (const HalfedgeGraph &g, PositionMap pm, NormalMap nm)
 
template<typename HalfedgeGraph , typename Position , typename Normal , typename Boundary >
void calculate_vertex_normals (const HalfedgeGraph &g, Position position_map, Normal normal_map, Boundary boundary_map)
 
template<typename HalfedgeGraph >
Kernel_traits< typename
boost::property_traits
< typename boost::property_map
< HalfedgeGraph,
CGAL::vertex_point_t >
::const_type >::value_type >
::Kernel::Triangle_3 
triangle (const HalfedgeGraph &g, typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor h)
 Convenience function that calls triangle() with the property map obtained by get(CGAL::vertex_point, g). More...
 
template<typename HalfedgeGraph , typename PositionMap >
Kernel_traits< typename
boost::property_traits
< PositionMap >::value_type >
::Kernel::Triangle_3 
triangle (const HalfedgeGraph &g, typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor h, const PositionMap &pm)
 triangle() returns a Triangle_3 constructed from the positions of the vertex_descriptors around the face incident to h in counter-clockwise direction. More...
 

Enumeration Type Documentation

The constant vertex_is_border is a property tag which refers to the property of a vertex of being a border vertex.

vertex_is_border is an interior property, that is, a property map for vertex_is_border can be extracted from any model of a HalfedgeGraph using the Bgl PropertyGraph interface: boost::get(vertex_is_border,graph)

The Boolean flag that indicates if the vertex is a border can be directly accessed via: boost::get(vertex_is_border,graph,edge)

Enumerator
vertex_is_border 

The constant vertex_point is a property tag which refers to the geometric embedding property of a vertex of a HalfedgeGraph.

A vertex_point is an interior property, that is, a property map for a vertex_point can be extracted from any model of a HalfedgeGraph using the Bgl PropertyGraph interface: boost::get(vertex_point,graph)

A point of a vertex can be directly accessed via:

  • boost::get(vertex_point,graph,vertex)
  • boost::put(vertex_point,graph,vertex,newpoint)
Enumerator
vertex_point 

Function Documentation

template<typename HalfedgeGraph >
Kernel_traits< typename boost::property_traits< typename boost::property_map< HalfedgeGraph, CGAL::vertex_point_t>::const_type >::value_type >::Kernel::Triangle_3 CGAL::triangle ( const HalfedgeGraph g,
typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor  h 
)

Convenience function that calls triangle() with the property map obtained by get(CGAL::vertex_point, g).

template<typename HalfedgeGraph , typename PositionMap >
Kernel_traits<typename boost::property_traits<PositionMap>::value_type>::Kernel::Triangle_3 CGAL::triangle ( const HalfedgeGraph g,
typename boost::graph_traits< HalfedgeGraph >::halfedge_descriptor  h,
const PositionMap &  pm 
)

triangle() returns a Triangle_3 constructed from the positions of the vertex_descriptors around the face incident to h in counter-clockwise direction.

The Kernel of the returned Triangle_3 is the same as the Kernel of the value_type of the.

Precondition
The face incident to h is triangular.
Template Parameters
PositionMapmust be a model of ReadablePropertyMap. Its value_type must be a model of Kernel::Point_3
HalfedgeGraphmust be a model of HalfedgeGraph.
Parameters
gThe graph
hThe halfedge
pmThe map used to find the vertices of the triangle.