mirror of https://github.com/CGAL/cgal
Oriented_side_d
This commit is contained in:
parent
4dc6fa5d2a
commit
8344312677
|
|
@ -114,7 +114,7 @@ template <class Base_> struct Kernel_d_interface : public Base_ {
|
|||
//typedef typename Get_functor<Base, Has_on_positive_side_tag>::type Has_on_positive_side_d;
|
||||
//typedef typename Get_functor<Base, Linear_rank_tag>::type Linear_rank_d;
|
||||
//typedef typename Get_functor<Base, Linearly_independent_tag>::type Linearly_independent_d;
|
||||
//typedef typename Get_functor<Base, Oriented_side_tag>::type Oriented_side_d;
|
||||
typedef typename Get_functor<Base, Oriented_side_tag>::type Oriented_side_d;
|
||||
//typedef typename Get_functor<Base, Side_of_bounded_sphere_tag>::type Side_of_bounded_sphere_d;
|
||||
|
||||
typedef typename Get_functor<Base, Center_of_sphere_tag>::type Center_of_sphere_d;
|
||||
|
|
|
|||
|
|
@ -736,6 +736,36 @@ template<class R_> struct Equal_points : private Store_kernel<R_> {
|
|||
|
||||
CGAL_KD_DEFAULT_FUNCTOR(Equal_points_tag,(CartesianDKernelFunctors::Equal_points<K>),(),(Construct_ttag<Point_cartesian_const_iterator_tag>));
|
||||
|
||||
namespace CartesianDKernelFunctors {
|
||||
template<class R_> struct Oriented_side : private Store_kernel<R_> {
|
||||
CGAL_FUNCTOR_INIT_STORE(Oriented_side)
|
||||
typedef R_ R;
|
||||
typedef typename Get_type<R, Oriented_side_tag>::type result_type;
|
||||
typedef typename Get_type<R, Point_tag>::type Point;
|
||||
typedef typename Get_type<R, Hyperplane_tag>::type Hyperplane;
|
||||
typedef typename Get_type<R, Sphere_tag>::type Sphere;
|
||||
typedef typename Get_functor<R, Value_at_tag>::type VA;
|
||||
typedef typename Get_functor<R, Hyperplane_translation_tag>::type HT;
|
||||
typedef typename Get_functor<R, Squared_distance_tag>::type SD;
|
||||
typedef typename Get_functor<R, Squared_radius_tag>::type SR;
|
||||
typedef typename Get_functor<R, Center_of_sphere_tag>::type CS;
|
||||
|
||||
result_type operator()(Hyperplane const&h, Point const&p)const{
|
||||
HT ht(this->kernel());
|
||||
VA va(this->kernel());
|
||||
return CGAL::compare(va(h,p),ht(h));
|
||||
}
|
||||
result_type operator()(Sphere const&s, Point const&p)const{
|
||||
SD sd(this->kernel());
|
||||
SR sr(this->kernel());
|
||||
CS cs(this->kernel());
|
||||
return CGAL::compare(sd(cs(s),p),sr(s));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
CGAL_KD_DEFAULT_FUNCTOR(Oriented_side_tag,(CartesianDKernelFunctors::Oriented_side<K>),(Point_tag,Sphere_tag,Hyperplane_tag),(Value_at_tag,Hyperplane_translation_tag,Squared_distance_tag,Squared_radius_tag,Center_of_sphere_tag));
|
||||
|
||||
}
|
||||
#include <CGAL/Kernel_d/Coaffine.h>
|
||||
#endif // CGAL_KERNEL_D_FUNCTION_OBJECTS_CARTESIAN_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue