CGAL骨架和输入表面之间的对应关系不起作用

时间:2018-02-12 14:41:05

标签: c++ cgal

我是CGAL的新手并且遇到了Skeleton的问题。

我使用CGAL-4.11(64位);我使用CGAL::extract_mean_curvature_flow_skeleton(tmesh, skeleton);成功创建了3D多面体(elephant.off文件)的Skeleton 如https://doc.cgal.org/latest/Surface_mesh_skeletonization/Surface_mesh_skeletonization_2simple_mcfskel_example_8cpp-example.html

所示

所有编译和运行没有任何错误,包括使用以下代码导出输入表面的顶点和骨架顶点之间的对应关系:

// Output skeleton points and the corresponding surface points  
output.open("correspondance-poly.cgal");
BOOST_FOREACH(Skeleton_vertex v, vertices(skeleton))
    BOOST_FOREACH(vertex_descriptor vd, skeleton[v].vertices)
        output << "2 " << skeleton[v].point << " " << get(CGAL::vertex_point, tmesh, vd)  << "\n";

但当我看到这种信件的可视化时,我发现了一件可怕的事情。而不是一个漂亮的画笔,它看起来像一个随机的边缘,请参阅 screenshot (look at the chaotic blue lines)

UPD:问题解决了!非常感谢@sloriot
问题在于旧的&mean.3curvature_flow_skeletonization.h&#39;文件,解决方案是here

0 个答案:

没有答案