Поэтому мне интересно, что происходит в триангуляции Делоне CGAL, когда вы вызываете функцию соседа для соседа, который не существует. В документации (ВОТ) это говорит об этом:
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? Как я могу это проверить?
Причина, по которой я хочу это сделать, заключается в том, что я хотел бы идентифицировать все ребра треугольника в триангуляции Делоне. Возможность проверки на наличие треугольников с 2 или менее соседями была бы очень полезной.
Есть идеи?
Увидеть документация.
CGAL вводит бесконечная вершина, следовательно, у каждого «граничного ребра» есть дополнительный сосед, который представляет собой бесконечный треугольник, состоящий из двух вершин вашего ребра и бесконечной вершины.
Других решений пока нет …