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:
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user