Based on the CGAL method Polygon_mesh_processing::smooth_shape().
Polygon_mesh_processing::smooth_shape()