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

时间:2012-02-14 01:48:20

标签: 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);

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

1 个答案:

答案 0 :(得分:4)

  

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

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

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