使用具有线段属性的Boost :: Geometry Polygon布尔值/交叉点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用具有线段属性的Boost :: Geometry Polygon布尔值/交叉点相关的知识,希望对你有一定的参考价值。

可以使用Can Boost :: Geometry多边形交集操作(交集,并集或差异的布尔运算),同时保留用户可能分配给该多边形的线段的自定义属性吗?

例如,使用Boost :: Geometry,下图中两个多边形之间的布尔运算是否会以所示方式保留原始多边形中线段的颜色?

Image of polygon operations with edge properties as colour

由于可以定义自定义point_xy对象以提供给布尔运算算法,因此可以将属性指定给每个多边形的顶点作为输入。问题是:输出是否会以可预测的方式保留这些属性?

如果Boost几何可以做到这一点,我们将如何去做呢?

注意:这里有关于线串的相关问题:Find all linesegments=edges within a certain distance to a point in a graph, how to combine boost-graph with boost-geometry?,但据我所知,Boost Geometry必须定义带有点的多边形,而不是用于布尔操作的线段。

答案

不,在Boost.Geometry中还不能保留这些属性。

它曾经计划过一次,所以也许它将来会在那里。在这种情况下,您将能够提供一种策略来定义如何合并不同输入的属性。

但目前尚未实施。

以上是关于使用具有线段属性的Boost :: Geometry Polygon布尔值/交叉点的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Boost C++ 库与 3D 多边形相交?

使用属性树在 boost 中解析 xml

Boost几何:使用开区间的交叉点

使用捆绑属性创建 C++ Boost 图形

使用 boost 库查找交点

使用 STL 在相反类别中查找具有匹配属性的元素的算法