added Has_on_bounded_side_2::operator() for Circle_2 and Iso_rectangle_2 including static filter

added intersected_nodes for disk/ball to Orhtree
This commit is contained in:
Sven Oesau
2026-01-22 13:03:23 +01:00
parent 5eeabbd96a
commit a9cd49c95c
9 changed files with 243 additions and 8 deletions
@@ -3599,6 +3599,32 @@ namespace CommonKernelFunctors {
operator()( const Circle_2& c, const Point_2& p) const
{ return c.has_on_bounded_side(p); }
Boolean
operator()(const Circle_2& c, const Iso_rectangle_2 & r) const
{
typedef typename K::FT FT;
FT d = FT(0);
FT distance = FT(0);
// x
d = (std::max)(square(c.center().x() - r.xmin()), square(c.center().x() - r.xmax()));
if (certainly(d > c.squared_radius()))
return false;
distance = d;
// y
d = (std::max)(square(c.center().y() - r.ymin()), square(c.center().y() - r.ymax()));
if (certainly(d > c.squared_radius()))
return false;
distance += d;
return (distance <= c.squared_radius());
}
Boolean
operator()(const Circle_2& c, const Segment_2& s) const
{