我正在尝试使用 Clipper 库按线分割多边形。执行裁剪后,返回空路径。有人可以建议正确的方法来做同样的事情吗?
Paths clip(2),soln;
clip[0] << IntPoint(-264,-210) << IntPoint(650,-209);
Path sub = clip[0];
Path poly << IntPoint(531,49) << IntPoint(-21,49) << IntPoint(-970,-961) << IntPoint(-945,-1019) << IntPoint(1045,-1071) ;
Clipper c;
c.AddPath(poly,ptSubject,true);
c.AddPath(sub,ptClip,true);
c.Execute(ctIntersection,soln,pftNonZero, pftNonZero);
std::cout << soln.size() << "soln size";
溶液尺寸为零。
Clipper 不允许线(开放路径)剪切多边形(闭合路径)。然而,它确实允许线条被多边形剪切。(更多信息请点击此处。) http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPath.htm
此外,在您的代码中,两个路径(主题和剪辑)似乎都被添加为闭合路径,并且由于主题没有区域,因此它与剪辑多边形的交集也将没有区域,因此是空的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)