|
CGAL 5.1 - CGAL and the Boost Graph Library
|
VertexListGraphEdgeListGraphHalfedgeGraphHalfedgeListGraphMutableHalfedgeGraphFaceGraphFaceListGraphMutableFaceGraphCGAL::vertex_index_tCGAL::halfedge_index_tCGAL::edge_index_tCGAL::face_index_tCGAL::vertex_point_tA number of CGAL structures have been adapted as graphs for the Bgl. All adapted types are listed here. The pages document which concepts they model, the properties they support, and any possible caveats that a user might encounter.
boost::graph_traits<CGAL::Surface_mesh<P> > boost::graph_traits<CGAL::Polyhedron_3<T> > boost::graph_traits<CGAL::Linear_cell_complex_for_combinatorial_map<...> > boost::graph_traits<CGAL::Seam_mesh<T> > boost::graph_traits<CGAL::Triangulation_2<GT, TDS> > and other 2D triangulationsboost::graph_traits<CGAL::Arrangement_2<T, DC> > boost::graph_traits<OpenMesh::PolyMesh_ArrayKernelT<K> > boost::graph_traits<OpenMesh::TriMesh_ArrayKernelT<K> > CGAL::Triangulation_vertex_base_with_id_2CGAL::Triangulation_face_base_with_id_2CGAL::Arr_vertex_index_mapCGAL::Arr_face_index_mapCGAL::HalfedgeDS_vertex_max_base_with_idCGAL::HalfedgeDS_halfedge_max_base_with_idCGAL::HalfedgeDS_face_max_base_with_idCGAL::Polyhedron_items_with_id_3CGAL::set_halfedgeds_items_id()CGAL::Linear_cell_complex_bgl_min_itemsCGAL::Linear_cell_complex_for_bgl_combinatorial_map_helperCGAL::is_border()CGAL::is_border_edge()CGAL::is_bivalent()CGAL::is_bivalent_mesh()CGAL::is_trivalent()CGAL::is_trivalent_mesh()CGAL::is_isolated_triangle()CGAL::is_closed()CGAL::is_triangle()CGAL::is_triangle_mesh()CGAL::is_quad()CGAL::is_quad_mesh()CGAL::is_isolated_quad()CGAL::is_valid_halfedge_graph()CGAL::is_valid_face_graph()CGAL::is_valid_polygon_mesh()CGAL::is_tetrahedron()CGAL::is_hexahedron()CGAL::make_triangle()CGAL::make_tetrahedron()CGAL::make_quad()CGAL::make_hexahedron()CGAL::make_icosahedron()CGAL::make_regular_prism()CGAL::make_pyramid()CGAL::make_grid()CGAL::clear()CGAL::copy_face_graph()CGAL::set_triangulation_ids()CGAL::Halfedge_around_source_iteratorCGAL::Halfedge_around_target_iteratorCGAL::Halfedge_around_face_iteratorCGAL::Vertex_around_target_iteratorCGAL::Vertex_around_face_iteratorCGAL::Face_around_face_iteratorCGAL::Face_around_target_iteratorCGAL::halfedges_around_source()CGAL::halfedges_around_target()CGAL::halfedges_around_face()CGAL::faces_around_face()CGAL::faces_around_target()CGAL::vertices_around_face()CGAL::vertices_around_target()CGAL::Halfedge_around_source_circulatorCGAL::Halfedge_around_target_circulatorCGAL::Halfedge_around_face_circulatorCGAL::Vertex_around_target_circulatorCGAL::Face_around_target_circulatorCGAL::Face_around_face_circulatorCGAL::Euler::add_center_vertex()CGAL::Euler::add_edge()CGAL::Euler::add_face()CGAL::Euler::add_face_to_border()CGAL::Euler::add_vertex_and_face_to_border()CGAL::Euler::collapse_edge()CGAL::Euler::does_satisfy_link_condition()CGAL::Euler::fill_hole()CGAL::Euler::flip_edge()CGAL::Euler::join_face()CGAL::Euler::join_loop()CGAL::Euler::join_vertex()CGAL::Euler::make_hole()CGAL::Euler::remove_center_vertex()CGAL::Euler::remove_face()CGAL::Euler::split_edge()CGAL::Euler::split_face()CGAL::Euler::split_loop()CGAL::Euler::split_vertex()CGAL::expand_face_selection()CGAL::reduce_face_selection()CGAL::expand_edge_selection()CGAL::reduce_edge_selection()CGAL::expand_vertex_selection()CGAL::reduce_vertex_selection()CGAL::select_incident_faces()CGAL::expand_face_selection_for_removal()CGAL::regularize_face_selection_borders()CGAL::DualCGAL::Face_filtered_graphCGAL::Graph_with_descriptor_with_graphCGAL::Graph_with_descriptor_with_graph_property_mapCGAL::Seam_meshModules | |
| Specializations of boost::graph_traits | |
| BGL Named Parameters | |
| Concepts | |
| Properties | |
The property tags model of the boost concept PropertyTag. | |
| Dynamic Properties | |
| External Indices | |
| Helper Functions | |
| Iterators and Circulators | |
| Selection Functions | |
| Graph Adaptors | |
| Euler Operations | |
| Partitioning Operations | |
| I/O Functions | |
Files | |
| file | partition.h |
Functions | |
| template<typename Graph , typename Visitor , typename IsTerminal > | |
| void | CGAL::split_graph_into_polylines (const Graph &graph, Visitor &polyline_visitor, IsTerminal is_terminal) |
| void CGAL::split_graph_into_polylines | ( | const Graph & | graph, |
| Visitor & | polyline_visitor, | ||
| IsTerminal | is_terminal | ||
| ) |
#include <CGAL/boost/graph/split_graph_into_polylines.h>
splits into polylines the graph g at vertices of degree greater than 2 and at vertices for which is_terminal(v,graph)==true. The polylines are reported using a visitor.
| Graph | a model of the boost concepts VertexListGraph and EdgeListGraph. |
| Visitor | a class that provides:
|
| IsTerminal | A functor providing bool operator()(boost::graph_traits<Graph>::vertex_descriptor v, const Graph& g) const returning true if the vertex v of degree 2 is a polyline endpoint and false otherwise. |
An overload without is_terminal is provided if no vertices but those of degree different from 2 are polyline endpoints.