Add Construct_projected_point_3(P3, P3) + correct parameter order

Not a kernel requirement
This commit is contained in:
Mael Rouxel-Labbé
2021-09-28 15:34:51 +02:00
parent 2dda84c9b3
commit e424356ffa
4 changed files with 54 additions and 20 deletions
@@ -3341,8 +3341,17 @@ namespace CartesianKernelFunctors {
typedef typename K::Segment_3 Segment_3;
typedef typename K::Ray_3 Ray_3;
typedef typename K::FT FT;
public:
typedef Point_3 result_type;
template<typename>
struct result {
typedef const Point_3 type;
};
template<typename F>
struct result<F(Point_3, Point_3)> {
typedef const Point_3& type;
};
Point_3
operator()( const Line_3& l, const Point_3& p ) const
@@ -3369,15 +3378,19 @@ namespace CartesianKernelFunctors {
Point_3
operator()( const Triangle_3& t, const Point_3& p ) const
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,t,K()); }
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(t,p,K()); }
Point_3
operator()( const Segment_3& s, const Point_3& p ) const
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,s,K()); }
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(s,p,K()); }
Point_3
operator()( const Ray_3& r, const Point_3& p ) const
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,r,K()); }
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(r,p,K()); }
const Point_3&
operator()( const Point_3& p, const Point_3& q) const
{ return CommonKernelFunctors::Construct_projected_point_3<K>()(p,q,K()); }
};
template <class K>