如何在CGAL中执行2D网格划分时保留多边形?

时间:2016-12-13 16:27:08

标签: polygon mesh cgal triangulation

我想在两个多边形(比如内部和外部多边形)之间创建一个2D三角形网格(可能是Delaunay)。我的要求是没有在内部多边形上插入新节点,或者我希望保留内部多边形。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:0)

根据您的描述,您似乎需要一个受约束的Delaunay三角剖分。请参阅此example

答案 1 :(得分:0)

CGAL中的conforming triangulation可满足您的需求。您必须为其提供两个多边形的轮廓,并在要保留的区域中设置一个种子点。包含种子点的区域将被三角剖分,但不会被网格划分(有关此行为的示例,请参见我上面链接的文档)。

您还可以使用is_in_domain()函数来检查面是否在网格区域中。这样,您可以忽略内部多边形中的面,而使用现有的三角剖分代替它们。