CGAL 4.10 - CGAL and the Boost Graph Library
|
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... | |
template<typename FaceGraph > | |
void | CGAL::clear (FaceGraph &g) |
removes all vertices, faces and halfedges from a graph. More... | |
template<typename SourceMesh , typename TargetMesh , typename V2V = Emptyset_iterator, typename H2H = Emptyset_iterator, typename F2F = Emptyset_iterator, typename Src_vpm = typename boost::property_map<SourceMesh, vertex_point_t>::const_type, typename Tgt_vpm = typename boost::property_map<TargetMesh, vertex_point_t>::type> | |
void | CGAL::copy_face_graph (const SourceMesh &sm, TargetMesh &tm, V2V v2v=V2V(), H2H h2h=H2H(), F2F f2f=F2F(), Src_vpm sm_vpm=get(vertex_point, sm), Tgt_vpm tm_vpm=get(vertex_point, tm)) |
copies a source model of FaceListGraph into a target model of a FaceListGraph . More... | |
void CGAL::clear | ( | FaceGraph & | g) |
removes all vertices, faces and halfedges from a graph.
Calls remove_edge()
, remove_vertex()
, and remove_face()
for each edge, vertex or face.
If the graph has a member function clear()
, it will be called instead.
FaceGraph | model of MutableHalfedgeGraph and MutableFaceGraph |
g | the graph to clear |
#include <CGAL/boost/graph/helpers.h>
void CGAL::copy_face_graph | ( | const SourceMesh & | sm, |
TargetMesh & | tm, | ||
V2V | v2v = V2V() , |
||
H2H | h2h = H2H() , |
||
F2F | f2f = F2F() , |
||
Src_vpm | sm_vpm = get(vertex_point, sm) , |
||
Tgt_vpm | tm_vpm = get(vertex_point, tm) |
||
) |
copies a source model of FaceListGraph
into a target model of a FaceListGraph
.
OutputIterators
can be provided to produce a mapping between source and target elements. The target graph is not cleared.
SourceMesh | a model of FaceListGraph . The descriptor types boost::graph_traits<SourceMesh>::vertex_descriptor and boost::graph_traits<SourceMesh>::face_descriptor must be models of Hashable . |
TargetMesh | a model of FaceListGraph |
V2V | a model of OutputIterator accepting std::pair<sm_vertex_descriptor, tm_vertex_descriptor> |
H2H | a model of OutputIterator accepting std::pair<sm_halfedge_descriptor, tm_halfedge_descriptor> |
F2F | a model of OutputIterator accepting std::pair<sm_face_descriptor, tm_face_descriptor> |
Src_vpm | a model of ReadablePropertyMap with sm_vertex_descriptor as key |
Tgt_vpm | a model of WritablePropertyMap with tm_vertex_descriptor as key where the prefix sm_ and tm_ mean belonging to the source and target mesh respectively. |
The types sm_vertex_descriptor
and sm_face_descriptor
must be models of the concept Hashable
.
sm | the source mesh |
tm | the target mesh |
v2v | pairs of vertex_descriptors from sm and corresponding vertex_descriptors in tm are added to v2v |
h2h | pairs of halfedge_descriptors from sm and corresponding halfedge_descriptors in tm are added to h2h |
f2f | pairs of face_descriptors from sm and corresponding face_descriptors in tm are added to f2f |
sm_vpm | vertex point map for sm |
tm_vpm | vertex point map for tm |
The points from sm
to tm
are converted using CGAL::Cartesian_converter<SourceKernel, TargetKernel>
. SourceKernel
and TargetKernel
are deduced using CGAL::Kernel_traits
from the value types of Src_vpm
and Tgt_vpm
.
Other properties are not copied.
#include <CGAL/boost/graph/copy_face_graph.h>
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.
g
must be valid. #include <CGAL/boost/graph/helpers.h>
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
.
p0
, in the face with the vertices with the points p0
, p1
, p2
, and p3
. #include <CGAL/boost/graph/helpers.h>
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
.
p0
. #include <CGAL/boost/graph/helpers.h>
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
.
p0
, in the face with the vertices with the points p0
, p1
, and p2
. #include <CGAL/boost/graph/helpers.h>
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
.
p0
. #include <CGAL/boost/graph/helpers.h>