使用索引几何增强多边形
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?(其他答案如果您有能力复制一些数据,请显示可能更容易的替代方案。
相关算法为:
我需要在二维平面图上进行一些多边形计算。通常,是内部操作。
我找到了 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?(其他答案如果您有能力复制一些数据,请显示可能更容易的替代方案。
相关算法为: