我有一组多边形,我想测试它和一个段之间的交集。 我检查了手册,但找不到匹配的功能。 点,线,线段,三角形,平面之间的交点确实存在。 多边形之间的交叉点也在那里。 我的问题是:
答案 0 :(得分:7)
最简单的方法是创建一个可能包含多个多边形的Polygon_set_2对象。要测试外部多边形与此集合的交集,只需应用do_intersect方法。
例如:
typedef CGAL::Polygon_set_2<Kernel, std::vector<Kernel::Point_2>> Polygon_set_2;
Polygon_set_2 ps;
Polygon_2 poly;
Polygon_2 line; // line is a polygon defined by 2 points
ps.insert(poly);
bool intersect = ps.do_intersect(line);
有关polygon_set_2的更多信息:
我希望它很清楚, 基里尔