CGAL使用的是半边数据结构,所以你输入的数据必须满足半边数据结构的形式。如果不是,算法可能会出错。
半边数据结构是一种拓扑结构,而PolygonSoup是由多边形无序的保存在一起的简单图形,并没有拓扑信息,所以我们要把PolygonSoup转成PolygonMesh。
示例
orient_polygon_soup_example.cpp
读入一个PolygonSoup,然后转成PolygonMesh。文件格式为OFF
- 读取off到
std::vector<Point_3> points; std::vector<std::vector<std::size_t>> polgyons;
中 - 然后转成polygonmesh
- 再输出
repair_polygon_soup_example.cpp
PMP::orient_polygon_soup(points, polygons);
PMP::polygon_soup_to_polygon_mesh(points, polygons, mesh);