【发布时间】:2018-08-10 15:29:27
【问题描述】:
我在 CGAL 中有一个 SurfaceMesh:
https://doc.cgal.org/latest/Surface_mesh/index.html
我了解如何迭代每个面,如示例所示:
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef Kernel::Point_3 Point;
typedef CGAL::Surface_mesh<Point> Surface_mesh;
BOOST_FOREACH(boost::graph_traits<Surface_mesh>::face_descriptor fit, faces(mesh)){
//do something here
}
这里,mesh 是一个 Surface_mesh。我完全不清楚 face_descriptor 是什么,以及如何使用它。当一个人有一个 face_descriptor 时,如何访问一个面的半边和顶点?具体来说,如何遍历半边的所有顶点,并获得它们的坐标?
【问题讨论】:
-
mesh.halfedge(fit)应该给你一个半边的开始。您链接到的用户手册有一个带有vertices_around_face的示例。也可以搜索point获得积分... -
您能否链接或复制该示例?
-
查看示例doc.cgal.org/latest/Surface_mesh/index.html#circulators_example,它展示了如何枚举面边界上的顶点