Search code examples
c++computational-geometrycgal

Area-based CGAL smoothing turned off but smoothing not performed


I more or less copied this CGAL example, mainly except that instead of

 PMP::smooth_mesh(mesh, PMP::parameters::number_of_iterations(nb_iterations)
                                         .use_safety_constraints(false) 
                                         .edge_is_constrained_map(eif));

I set the area-based smoothing to false, because I don't have the Ceres library:

  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));

However when trying my code, this message is thrown:

Area-based smoothing requires the Ceres Library, which is not available. No such smoothing will be performed!

I don't understand since I set use_area_smoothing(false). How to tell to CGAL that I don't want the area-based smoothing?


Solution

  • There is no way to disable it. This excessive verbosity was a bug and it has been fixed recently in the following pull request: https://github.com/CGAL/cgal/pull/6502.

    It will be part of the upcoming release CGAL 5.5; you can apply the patch locally until then.