В CGAL есть функция Object intersection(Type1<Kernel> obj1, Type2<Kernel> obj2)
, которая будет возвращать объект, представляющий пересечение двух заданных объектов различных возможных типов. говорит , что пересечение CGAL::Iso_rectangle_2
(прямоугольник со сторонами, параллельными осям x и y) и CGAL::Ray_2
(ориентированный луч, исходящий из заданной точки) равно CGAL::Point_2
или CGAL::Segment_2
(просто точка или отрезок).
А как насчет случая, когда луч пересекает прямоугольник в двух точках?Ничего не вижу об этом в руководстве.
![enter image description here](https://i.stack.imgur.com/RBQPQ.png)