diff --git a/BGL/doc/BGL/PackageDescription.txt b/BGL/doc/BGL/PackageDescription.txt index b336b89a6db..e6abffa0daf 100644 --- a/BGL/doc/BGL/PackageDescription.txt +++ b/BGL/doc/BGL/PackageDescription.txt @@ -126,6 +126,7 @@ user might encounter. - `CGAL::HalfedgeDS_face_max_base_with_id` - `CGAL::Polyhedron_items_with_id_3` - `CGAL::set_halfedgeds_items_id()` +- `CGAL::Dual` ## Helper Functions ## - `CGAL::is_border()` diff --git a/BGL/include/CGAL/boost/graph/Dual.h b/BGL/include/CGAL/boost/graph/Dual.h index 1e4252672e2..24555c2edd7 100644 --- a/BGL/include/CGAL/boost/graph/Dual.h +++ b/BGL/include/CGAL/boost/graph/Dual.h @@ -32,7 +32,21 @@ The class template `Dual` is an adaptor that creates the dual view of a `FaceGraph`. Faces of the original graph correspond to vertices in the `Dual` and vice versa. +Note that border edges in a `Dual` have the `null_face` of the +original graph as either source or target. This is unusual and might +break other algorithms since edges are always assumed to have non-null +vertices as a source and target. It is possible to filter border edges +using `boost::filtered_graph` as shown in example +\ref BGL_surface_mesh/surface_mesh_dual.cpp +Property forwarding +------------------- +\cgalAdvancedBegin +Edge properties of the underlying graph are forwarded directly. For +faces and vertices only the `face_index` and `vertex_index` properties +are forwarded. Accessing other properties will lead to a compilation +error. +\cgalAdvancedEnd */ template class Dual