CGAL 4.7 - CGAL and the Boost Graph Library: Helper Functions

\( \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.7 - CGAL and the Boost Graph Library

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Helper Functions
CGAL and the Boost Graph Library Reference

##

## Functions

template<typename FaceGraph >
bool | CGAL::is_border (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` if the halfedge `hd` is on a border.
template<typename FaceGraph >
bool | CGAL::is_border_edge (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` if the halfedge `hd` or the opposite halfedge is on a border.
template<typename FaceGraph >
bool | CGAL::is_border (typename boost::graph_traits< FaceGraph >::edge_descriptor ed, const FaceGraph &g)
| returns `true` if the edge `e` is on a border.
template<typename FaceGraph >
boost::optional< typename boost::graph_traits< FaceGraph > ::halfedge_descriptor > | CGAL::is_border (typename boost::graph_traits< FaceGraph >::vertex_descriptor vd, const FaceGraph &g)
| returns a halfedge which is on a border and whose target vertex is `vd`, if such a halfedge exists.
template<typename FaceGraph >
bool | CGAL::is_closed (const FaceGraph &g)
| returns `true` if there are no border edges.
template<typename FaceGraph >
bool | CGAL::is_bivalent (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` if the target of `hd` has exactly two incident edges.
template<typename FaceGraph >
bool | CGAL::is_bivalent_mesh (const FaceGraph &g)
| returns `true` if all vertices have exactly two incident edges.
template<typename FaceGraph >
bool | CGAL::is_trivalent (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` if the target of `hd` has exactly three incident edges.
template<typename FaceGraph >
bool | CGAL::is_trivalent_mesh (const FaceGraph &g)
| returns `true` if all vertices have exactly three incident edges.
template<typename FaceGraph >
bool | CGAL::is_isolated_triangle (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the connected component denoted by `hd` is a triangle. More...
template<typename FaceGraph >
bool | CGAL::is_triangle (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the face denoted by `hd` is a triangle, that is it has three incident halfedges.
template<typename FaceGraph >
bool | CGAL::is_triangle_mesh (const FaceGraph &g)
| returns `true` if all faces are triangles.
template<typename FaceGraph >
bool | CGAL::is_isolated_quad (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the connected component denoted by `hd` is a quadrilateral.
template<typename FaceGraph >
bool | CGAL::is_quad (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the face denoted by `hd` is a quad, that is it has four incident halfedges.
template<typename FaceGraph >
bool | CGAL::is_quad_mesh (const FaceGraph &g)
| returns `true` if all faces are quadrilaterals.
template<typename FaceGraph >
bool | CGAL::is_tetrahedron (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the connected component denoted by `hd` is a tetrahedron.
template<typename FaceGraph >
bool | CGAL::is_hexahedron (typename boost::graph_traits< FaceGraph >::halfedge_descriptor hd, const FaceGraph &g)
| returns `true` iff the connected component denoted by `hd` is a hexahedron.
template<typename Graph , typename P >
boost::graph_traits< Graph > ::halfedge_descriptor | CGAL::make_triangle (const P &p0, const P &p1, const P &p2, Graph &g)
| Creates an isolated triangle with border edges in `g` having `p0`, `p1`, and `p2` as points and adds it to the graph `g`. More...
template<typename Graph , typename P >
boost::graph_traits< Graph > ::halfedge_descriptor | CGAL::make_quad (const P &p0, const P &p1, const P &p2, const P &p3, Graph &g)
| Creates an isolated quad with border edges in `g` having `p0`, `p1`, `p2`, and `p3` as points and adds it to the graph `g`. More...
template<typename Graph , typename P >
boost::graph_traits< Graph > ::halfedge_descriptor | CGAL::make_hexahedron (const P &p0, const P &p1, const P &p2, const P &p3, const P &p4, const P &p5, const P &p6, const P &p7, Graph &g)
| Creates an isolated hexahedron in `g` having `p0`, `p1`, ... , and `p7` as points and adds it to the graph `g`. More...
template<typename Graph , typename P >
boost::graph_traits< Graph > ::halfedge_descriptor | CGAL::make_tetrahedron (const P &p0, const P &p1, const P &p2, const P &p3, Graph &g)
| Creates an isolated tetrahedron in `g` having `p0`, `p1`, `p2`, and `p3` as points and adds it to the graph `g`. More...

## Function Documentation

template<typename FaceGraph >

bool CGAL::is_isolated_triangle | ( | typename boost::graph_traits< FaceGraph >::halfedge_descriptor | hd,
|  | const FaceGraph & | g
| ) |  |

returns `true` iff the connected component denoted by `hd` is a triangle.

Precondition
  `g` must be valid.

`#include <CGAL/boost/graph/helpers.h>`

template<typename Graph , typename P >

boost::graph_traits<Graph>::halfedge_descriptor CGAL::make_hexahedron | ( | const P & | p0,
|  | const P & | p1,
|  | const P & | p2,
|  | const P & | p3,
|  | const P & | p4,
|  | const P & | p5,
|  | const P & | p6,
|  | const P & | p7,
|  | Graph & | g
| ) |  |

Creates an isolated hexahedron in `g` having `p0`, `p1`, ... , and `p7` as points and adds it to the graph `g`.

Returns
  the halfedge which has the target vertex associated with `p0`, in the face with the vertices with the points `p0`, `p1`, `p2`, and `p3`.

`#include <CGAL/boost/graph/helpers.h>`

template<typename Graph , typename P >

boost::graph_traits<Graph>::halfedge_descriptor CGAL::make_quad | ( | const P & | p0,
|  | const P & | p1,
|  | const P & | p2,
|  | const P & | p3,
|  | Graph & | g
| ) |  |

Creates an isolated quad with border edges in `g` having `p0`, `p1`, `p2`, and `p3` as points and adds it to the graph `g`.

Returns
  the non-border halfedge which has the target vertex associated with `p0`.

`#include <CGAL/boost/graph/helpers.h>`

template<typename Graph , typename P >

boost::graph_traits<Graph>::halfedge_descriptor CGAL::make_tetrahedron | ( | const P & | p0,
|  | const P & | p1,
|  | const P & | p2,
|  | const P & | p3,
|  | Graph & | g
| ) |  |

Creates an isolated tetrahedron in `g` having `p0`, `p1`, `p2`, and `p3` as points and adds it to the graph `g`.

Returns
  the halfedge which has the target vertex associated with `p0`, in the face with the vertices with the points `p0`, `p1`, and `p2`.

`#include <CGAL/boost/graph/helpers.h>`

template<typename Graph , typename P >

boost::graph_traits<Graph>::halfedge_descriptor CGAL::make_triangle | ( | const P & | p0,
|  | const P & | p1,
|  | const P & | p2,
|  | Graph & | g
| ) |  |

Creates an isolated triangle with border edges in `g` having `p0`, `p1`, and `p2` as points and adds it to the graph `g`.

Returns
  the non-border halfedge which has the target vertex associated with `p0`.

`#include <CGAL/boost/graph/helpers.h>`