В CGAL есть функция Object intersection(Type1<Kernel> obj1, Type2<Kernel> obj2)
, которая возвращает объект, представляющий пересечение двух заданных объектов разных возможных типов. сказал, что пересечение CGAL::Iso_rectangle_2
(прямоугольник со сторонами, параллельными осям x и y) и CGAL::Ray_2
(ориентированный луч, исходящий из данной точки) - это либо CGAL::Point_2
, либо CGAL::Segment_2
(просто точка или сегмент).
А как быть в случае, когда луч пересекает прямоугольник в двух точках? Ничего не видно в инструкции.