Check that the kernel has static filters

This commit is contained in:
Andreas Fabri 2021-03-10 10:51:24 +00:00
parent cea8cca6af
commit b5239161c4
1 changed files with 14 additions and 1 deletions

View File

@ -414,7 +414,7 @@ public:
CGAL::SMALLER : CGAL::LARGER;
}
CGAL::Comparison_result operator()(const Point& p, const Bounding_box& bb, const Point& bound) const
CGAL::Comparison_result operator()(const Point& p, const Bounding_box& bb, const Point& bound, Tag_true&) const
{
return GeomTraits().do_intersect_3_object()
(GeomTraits().construct_sphere_3_object()
@ -422,6 +422,19 @@ public:
CGAL::SMALLER : CGAL::LARGER;
}
CGAL::Comparison_result operator()(const Point& p, const Bounding_box& bb, const Point& bound, Tag_false&) const
{
return GeomTraits().do_intersect_3_object()
(GeomTraits().construct_sphere_3_object()
(p, GeomTraits().compute_squared_distance_3_object()(p, bound)), bb)?
CGAL::SMALLER : CGAL::LARGER;
}
CGAL::Comparison_result operator()(const Point& p, const Bounding_box& bb, const Point& bound) const
{
return (*this)(p, bb, bound, typename GeomTraits::Has_filtered_predicates_tag());
}
template <class Solid>
CGAL::Comparison_result operator()(const Point& p, const Solid& pr, const FT& sq_distance) const
{