c++ - 使用索引几何 boost 多边形

标签 c++ boost polygon boost-geometry

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

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

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

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

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

谢谢

文档

最佳答案

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? (其他答案显示了替代方案,如果您有能力复制一些数据,这些替代方案可能会更容易)。

相关算法是:

关于c++ - 使用索引几何 boost 多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179514/

相关文章:

google-maps - 如何在谷歌地图v3中获取多边形的中心?

c++ - 使用configure文件生成makefile

c++ - variant<int, string> 可以是 constexpr 吗?

c++ - Boost 安装失败 : cannot find -lrt

java - 如何扰动一个多边形,使其没有两条边位于同一条线上?

android - Android 中的地理围栏问题

c++ - 如何在 C++ 中向字符串添加多个项目?

c++ - 将粒子位置(glm vec3s)顶点传递给顶点缓冲区对象

c++ - 使用 shared_ptr 返回 vector 的指针

C++ 删除字符串中多余的空格或制表符