我需要在2D平面上进行一些多边形计算。通常,是isInside操作。
我找到了boost :: Polygon API,但我的观点是在一个大数组内。 这就是我所说的索引几何。 参见http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-9-vbo-indexing/
所以我最好的方法就是增加:: Polygon并赋予其数组和要使用的点索引。
目标只是不复制我的百万个点(因为它们至少被两个多边形共享)。
我不知道API是否允许它(或者我需要继承我自己的类:-()。 也许有人知道另一个API(boost或其他API内)。
谢谢
文档
答案 0 :(得分:1)
Boost Geometry允许改编用户定义的数据类型。
具体来说,此处改编了C数组:https://www.boost.org/doc/libs/1_68_0/boost/geometry/geometries/adapted/c_array.hpp
我还有另一个答案,其中我展示了如何在直接C结构数组上使用Boost Geometry算法(在这种情况下,我使用元组作为点类型键入了punned):How to calculate the convex hull with boost from arrays instead of setting each point separately?(其他答案显示了替代方法如果您有能力复制一些数据,可能会更容易。
相关算法为: