diff --git a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_3.h b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_3.h index 5b5b73c9fda..79eb2c74541 100644 --- a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_3.h @@ -4,16 +4,17 @@ namespace CGAL { \ingroup PkgConvexHull3Functions \brief computes robustly the intersection of the halfspaces defined by the planes contained in the range [`begin`, `end`) without constructing the dual points. The result is stored in the polyhedron `P`. -If `origin` is given then it must be a point strictly inside the polyhedron. If an interior point is not given then it is computed using a linear program and thus is slower than the first approach. -This version does not compute the dual points, but instead it uses a traits class for handling predicates for dual points without computing them. +If `origin` is given then it must be a point strictly inside the polyhedron. If an interior point is not given then it is computed using a linear program and thus is slower. + +This version does not construct the dual points explicitely but uses a special traits class for the function `CGAL::convex_hull_3()` to handle predicates on dual points without constructing them. \attention Halfspaces are considered as lower halfspaces that is to say if the plane's equation is \f$ a\, x +b\, y +c\, z + d = 0 \f$ then the corresponding halfspace is defined by \f$ a\, x +b\, y +c\, z + d \le 0 \f$ . -\attention The value type of PlaneIterator (Plane) and the type of the origin (Point_3) must come from the same CGAL kernel. +\attention The value type of `PlaneIterator` and the point type of `origin` must come from the same \cgal Kernel. -\pre `origin` is inside the intersection of halfspaces defined by the range [`begin`, `end`). +\pre if provided, `origin` is inside the intersection of halfspaces defined by the range `[begin, end)`. \pre The computed intersection must be a bounded convex polyhedron. -\tparam PlaneIterator must be an input iterator where the value type must be Polyhedron::Traits::Plane +\tparam PlaneIterator must be an input iterator where the value type must be `Polyhedron::Traits::Plane_3` \tparam Polyhedron must be a model of `ConvexHullPolyhedron_3`. \sa `halfspace_intersection_with_constructions_3()` @@ -22,6 +23,6 @@ This version does not compute the dual points, but instead it uses a traits clas template void halfspace_intersection_3 (PlaneIterator begin, PlaneIterator end, Polyhedron &P, - Point_3 origin); + boost::optional origin); } /* namespace CGAL */ diff --git a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_with_constructions_3.h b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_with_constructions_3.h index d75d38759b8..0e6501841ee 100644 --- a/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_with_constructions_3.h +++ b/Convex_hull_3/doc/Convex_hull_3/CGAL/Convex_hull_3/dual/halfspace_intersection_with_constructions_3.h @@ -4,16 +4,16 @@ namespace CGAL { \ingroup PkgConvexHull3Functions \brief computes the intersection of the halfspaces defined by the planes contained in the range [`begin`, `end`). The result is stored in the polyhedron `P`. -If `origin` is given then it must be a point strictly inside the polyhedron. If an interior point is not given then it is computed using a linear program and thus is slower than the first approach. +If `origin` is given then it must be a point strictly inside the polyhedron. If an interior point is not given then it is computed using a linear program and thus is slower. This version constructs explicitly the dual points using the convex hull algorithm parametrized with the given traits class. \attention Halfspaces are considered as lower halfspaces that is to say if the plane's equation is \f$ a\, x +b\, y +c\, z + d = 0 \f$ then the corresponding halfspace is defined by \f$ a\, x +b\, y +c\, z + d \le 0 \f$ . -\attention The value type of PlaneIterator (Plane) and the type of the origin (Point_3) must come from the same CGAL kernel. +\attention The value type of `PlaneIterator` and the point type of `origin` must come from the same \cgal Kernel. -\pre `origin` is inside the intersection of halfspaces defined by the range [`begin`, `end`). +\pre if provided, `origin` is inside the intersection of halfspaces defined by the range `[begin, end)`. \pre The computed intersection must be a bounded convex polyhedron. -\tparam PlaneIterator must be an input iterator where the value type must be Polyhedron::Traits::Plane +\tparam PlaneIterator must be an input iterator where the value type must be `Polyhedron::Traits::Plane_3` \tparam Polyhedron must be a model of `ConvexHullPolyhedron_3`. \tparam Traits must be a model of the concept `ConvexHullTraits_3`. @@ -24,7 +24,7 @@ template void halfspace_intersection_with_constructions_3(PlaneIterator pbegin, PlaneIterator pend, Polyhedron &P, - Point_3 origin, + boost::optional origin, const Traits & ch_traits = Default_traits); } /* namespace CGAL */