У меня есть однокомпонентная треугольная сетка в CGAL. Я хочу заполнить дыры, а затем применить операцию скелетонирования потока средней кривизны. Я могу использовать «Операции» > «Обработка полигональной сетки» > «Заполнение отверстий» для триангуляции, уточнения и выравнивания отверстий. Я ожидаю, что теперь, когда отверстия исправлены, сетка станет единой, закрытой, водонепроницаемой и готовой к скелетонированию. Но когда я выполняю «Операции» > «Скелетирование сетки триангулированной поверхности» > «Скелет средней кривизны», я получаю ошибку «Сетка не представляет собой единую замкнутую сетку. Она имеет 10 компонентов» или какое-то другое число. Это заставляет меня думать, что мне нужно объединить исходную сетку и компоненты «заполненных отверстий», но я не уверен.
Почему сетка, созданная в результате успешного заполнения отверстий, не будет водонепроницаемой?
Я раньше использовал скелетонирование MCF, и для этого требуется одна замкнутая сетка. Раньше я решал эту проблему, выполняя плотную альфа-переноску и затем скелетонируя результат. Однако альфа-перенос вводит нежелательные соединения и может работать медленно. Я пытаюсь просто восстановить исходную сетку без альфа-обертывания.
Я использую графический интерфейс CGALLab, а не пишу код на C++.
Подробнее здесь: https://stackoverflow.com/questions/798 ... components