使用 Clipper 库 - Angus Johnson => 无法运行代码片段

TSL*_*SL_ 1 polygon expansion

我正在尝试使用 Clipper 库来扩展我的避障机器人控制任务中的障碍物图像。但是现在,我什至坚持使用库的示例代码:

(http://www.angusj.com/delphi/clipper.php#code)

包括“clipper.hpp”

//from clipper.hpp ...
//typedef signed long long long64;
//struct IntPoint {long64 X; long64 Y;};
//typedef std::vector<IntPoint> Polygon;
//typedef std::vector<Polygon> Polygons;
...
using namespace ClipperLib;

Polygons subj(2), clip(1), solution;

subj[0].push_back(IntPoint(180,200));
subj[0].push_back(IntPoint(260,200));
subj[0].push_back(IntPoint(260,150));
subj[0].push_back(IntPoint(180,150));

subj[1].push_back(IntPoint(215,160));
subj[1].push_back(IntPoint(230,190));
subj[1].push_back(IntPoint(200,190));

clip[0].push_back(IntPoint(190,210));
clip[0].push_back(IntPoint(240,210));
clip[0].push_back(IntPoint(240,130));
clip[0].push_back(IntPoint(190,130));

DrawPolygons(subj, 0x160000FF, 0x600000FF);  // <- identifier not found
DrawPolygons(clip, 0x20FFFF00, 0x30FF0000);  // <- identifier not found

Clipper c;
c.AddPolygons(subject, ptSubject);
c.AddPolygons(clip, ptClip);
if (c.Execute(ctIntersection, solution)
  DrawPolygons(solution, 0x3000FF00, 0xFF006600);
Run Code Online (Sandbox Code Playgroud)

我想知道我是否缺少任何库安装?我知道这是一个小问题,我有点菜鸟,但任何帮助都可以减轻我的很多工作。谢谢!

Ang*_*son 5

我想知道我是否缺少任何库安装?

不,你并不缺少任何图书馆。'DrawPolygons' 函数只是您自己代码的占位符。您如何实现多边形的绘制取决于您打算使用的图形库,如果有的话(例如 GDI+、OpenGL、Cairo、AGG 等)。

(Clipper 包附带了许多编译示例,这些示例演示了如何将 Clipper 与上述每个图形渲染库一起使用。)

  • 只是给安格斯的一个简短说明 - 很棒的图书馆! (2认同)