下面这些出现的问题都不是代码的问题,而是输入的模型不满足CGAL半边结构,在构造CGAL半边结构出错报出的一些输入错误。下面列出对应的问题与相应的解决方法。
1、CGAL::Polyhedron_incremental_builder_3<HDS>::
add_vertex_to_facet(): input error: disconnected facet complexes at vertex 6915:
involved facets are: 9119 9117 9118 9116 9112 9113 9114 9115 (closed
cycle)
这个问题是说模型的面存在互相交的情况,解决方法去除面的自相交即可,但人为去除模型面片的自相交比较复杂,目前考虑剔除这一类模型,谁有剔除这一类面片自相交的方法谢谢告知,下面红色的就是自相交面片
2、
CGAL::Polyhedron_incremental_builder_3<HDS>::
lookup_halfedge(): input error: facet 13 shares a halfedge from vertex 2
to vertex 6 with facet 12.
这个问题出现的原因是:两个facet(面片)公用了一个halfedge(半边结构),而CGAL的数据结构是不允许两个facet共享一个半边结构。这个问题一般出现在非流行(Non Monifold)模型中,可以通过软件处理来解决。我用的是MeshLab,使用Filters-Remove Faces from Non Manifold Edges来移除非流形面片,这个问题也是导入模型过程中碰到最多的问题,一般处理了这一步,模型一般就没什么问题了。