使用索引几何增强多边形

Boost Polygon with indexed geometry

我需要在二维平面图上进行一些多边形计算。通常,是内部操作。

我找到了 boost::Polygon API 但我的点在一个大数组中。 这就是我所说的索引几何。 参见 http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-9-vbo-indexing/

所以我最好的方法就是 boost::Polygon 并给它我的数组 + 要使用的点索引。

objective只是为了不要复制我的百万点(因为它们至少被两个多边形共享)。

我不知道 API 是否允许(或者我需要继承我自己的 class :-( )。 也许,有人知道另一个 API(内部 boost 或其他)。

谢谢

文档

Boost Geometry 允许调整用户定义的数据类型。

这里具体适配了C数组:https://www.boost.org/doc/libs/1_68_0/boost/geometry/geometries/adapted/c_array.hpp

我有另一个答案,其中展示了如何在直接 C 结构数组上使用 Boost Geometry 算法(在这种情况下,我使用元组作为点类型输入双关语):How to calculate the convex hull with boost from arrays instead of setting each point separately?(其他答案如果您有能力复制一些数据,请显示可能更容易的替代方案。

相关算法为: