Я пытаюсь использовать библиотеку Boost.Geometry, чтобы найти пересечение квадрата и линии,
model::ring<model::d2::point_xy<double>> ring { {0, 0}, {2, 0}, {2, 2}, {0, 2} };
model::polygon<model::d2::point_xy<double>> pol;
pol.inners().push_back (ring);
model::linestring<model::d2::point_xy<double>> line { {1, 3}, {-1, -1} };
model::multi_point<model::d2::point_xy<double>> out;
intersection (pol, line, out); //out returns only {0.5, 2}, but not {0, 1}
но он возвращает только одну точку, хотя на самом деле есть две точки пересечения
Как найти все точки пересечения?