CGAL使用的是半边数据结构,所以你输入的数据必须满足半边数据结构的形式。如果不是,算法可能会出错。
半边数据结构是一种拓扑结构,而PolygonSoup是由多边形无序的保存在一起的简单图形,并没有拓扑信息,所以我们要把PolygonSoup转成PolygonMesh。

示例

orient_polygon_soup_example.cpp

读入一个PolygonSoup,然后转成PolygonMesh。文件格式为OFF

  1. 读取off到std::vector<Point_3> points; std::vector<std::vector<std::size_t>> polgyons;
  2. 然后转成polygonmesh
  3. 再输出

repair_polygon_soup_example.cpp

  1. PMP::orient_polygon_soup(points, polygons);
  2. PMP::polygon_soup_to_polygon_mesh(points, polygons, mesh);