所以我想知道当你为一个不存在的邻居调用邻居函数时,CGAL Delaunay三角剖分会发生什么。在文档(HERE)中,它说:
The neighbor with index i is the neighbor which is opposite to the vertex with index i.
Face_handle f.neighbor ( int i) const //returns the neighbor i of f.
//Precondition: 0 ≤ i ≤ 2.
但并非所有三角形都有3个邻居。边角和三角形只会与2相邻。鉴于它现在必须返回一个Face_handle,对于那些不存在的邻居会发生什么?也许它会是NULL?我怎么检查这个?
我希望这样做的原因是因为我想识别Delaunay三角剖分中的所有边三角形。能够检查具有2个或更少邻居的三角形将是非常有用的。
有什么想法吗?
答案 0 :(得分:2)
CGAL引入了无限顶点,因此每个“边界边缘”都有一个额外的邻居,这是一个由边缘和无限顶点的两个顶点组成的无限三角形。