mirror of https://github.com/CGAL/cgal
Make polyhedral surface a template parameter
This commit is contained in:
parent
32b1fb1c90
commit
698e0941ea
|
|
@ -8,11 +8,12 @@ The class `Convex_hull_traits_3` serves as a traits class for the function
|
|||
function when `R` is a kernel with exact predicates but inexact constructions
|
||||
(note that the type `Plane_3` is a triple of `Point_3` and not `R::Plane_3`).
|
||||
|
||||
\tparam MFG must be a ,model of MutableFaceGraph
|
||||
\cgalModels `ConvexHullTraits_3`
|
||||
\cgalModels `IsStronglyConvexTraits_3`
|
||||
|
||||
*/
|
||||
template< typename R >
|
||||
template< typename R, typename MFG = Polyhedron_3<R> >
|
||||
class Convex_hull_traits_3 {
|
||||
public:
|
||||
|
||||
|
|
@ -42,7 +43,7 @@ typedef unspecified_type Plane_3;
|
|||
/*!
|
||||
|
||||
*/
|
||||
typedef Polyhedron_3<R> Polyhedron_3;
|
||||
typedef MFG Polyhedron_3;
|
||||
|
||||
/*!
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ that is `P` will contain only triangular facets.
|
|||
\tparam Polyhedron_3 must be a model of `MutableFaceGraph`.
|
||||
\tparam Traits must be a model of the concept `ConvexHullTraits_3`.
|
||||
For the purposes of checking the postcondition that the convex hull
|
||||
is valid, `Traits` should also be a model of the concept
|
||||
is valid, `Traits` must also be a model of the concept
|
||||
`IsStronglyConvexTraits_3`.
|
||||
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ in case the result is a polyhedron.
|
|||
\tparam InputIterator must be an input iterator with a value type equivalent to `Traits::Point_3`.
|
||||
\tparam Traits must be model of the concept `ConvexHullTraits_3`.
|
||||
For the purposes of checking the postcondition that the convex hull
|
||||
is valid, `Traits` should also be a model of the concept
|
||||
is valid, `Traits` must also be a model of the concept
|
||||
`IsStronglyConvexTraits_3`. Furthermore, `Traits` must define a type `Polyhedron_3` that is a model of
|
||||
`MutableFaceGraph`.
|
||||
|
||||
|
|
|
|||
|
|
@ -185,20 +185,20 @@ struct Convex_hull_traits_base_3<R_, Tag_true>{
|
|||
};
|
||||
|
||||
|
||||
template <class R_, class Has_filtered_predicates_tag = Tag_false>
|
||||
template <class R_, class Polyhedron = Polyhedron_3<R_>, class Has_filtered_predicates_tag = Tag_false>
|
||||
class Convex_hull_traits_3 :
|
||||
public Convex_hull_traits_base_3<R_, Has_filtered_predicates_tag>
|
||||
{
|
||||
public:
|
||||
typedef R_ R;
|
||||
typedef Convex_hull_traits_3<R, Has_filtered_predicates_tag> Self;
|
||||
typedef Convex_hull_traits_3<R, Polyhedron, Has_filtered_predicates_tag> Self;
|
||||
typedef typename R::Point_3 Point_3;
|
||||
typedef typename R::Segment_3 Segment_3;
|
||||
typedef typename R::Triangle_3 Triangle_3;
|
||||
typedef Point_triple<R> Plane_3;
|
||||
typedef typename R::Vector_3 Vector_3;
|
||||
|
||||
typedef CGAL::Polyhedron_3<R> Polyhedron_3;
|
||||
typedef Polyhedron Polyhedron_3;
|
||||
|
||||
typedef typename R::Construct_segment_3 Construct_segment_3;
|
||||
typedef typename R::Construct_ray_3 Construct_ray_3;
|
||||
|
|
|
|||
Loading…
Reference in New Issue