我或多或少地复制了这个CGAL示例,主要是除了
PMP::smooth_mesh(mesh, PMP::parameters::number_of_iterations(nb_iterations)
.use_safety_constraints(false)
.edge_is_constrained_map(eif));
我设置基于区域的平滑为false,因为我没有Ceres图书馆:
PMP::smooth_mesh(mesh,
PMP::parameters::number_of_iterations(niters)
.use_area_smoothing(false)
.use_Delaunay_flips(false)
.use_safety_constraints(false)
.edge_is_constrained_map(eif));
然而,当我尝试我的代码,这条消息抛出:
基于区域的平滑需要Ceres库,而不是可用。不会执行这样的平滑!
我不明白,因为我设置了use_area_smoothing(false)
。如何告诉CGAL我不想要基于区域的平滑?
没有办法禁用它。这种过多的冗长是一个bug,最近在以下pull request中得到了修复:https://github.com/CGAL/cgal/pull/6502.
它将成为即将发布的CGAL 5.5的一部分;在此之前,您可以在本地应用补丁。