ClipperLib 中 ptSubject 和 ptClip 的区别

Difference between ptSubject and ptClip in ClipperLib

当 polygon1 和 polygon2 包含相同的坐标 (10,10) (20,10) (20,20) (10,20)

Clipper c;
c.AddPaths(polygon1,ptSubject);
c.AddPaths(polygon2,ptClip);
c.Execute(ctUnion,polyUnion,pftNonZero,pftNonZero);

polygon1 和 polygon2 是闭环 ptSubject 和 ptClip 将如何表现?

对于除'difference'之外的所有裁剪操作,主题和裁剪多边形可以互换而不影响结果,在'union'的情况下它们可以是'clip'或两者都是是 'subject'。但是,只能打开 'subject' 条路径。

更多信息在这里:http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Classes/ClipperBase/Methods/AddPaths.htm

最初,裁剪指的是排除位于矩形裁剪之外的数据(路径、图像等)的过程window。然而,这个过程已经被推广到包括非矩形裁剪区域,并包括联合、差异和 XOR 布尔运算(诚然,'subject' 和 clip' 标签没有多大意义)。