The CGAL project has been participating in 12 editions of the Google Summer of Code
internship program. It is a great opportunity to welcome new members to our community, both contributors and mentors.
This post introduces two contributions that have been incorporated into the CGAL library.
First, Interpolated Corrected Curvature Measures from GSoC'22, by Hossam Mohamed Seed
mentored by David Coeurjolly,
Jacques-Olivier Lachaud, and Sébastien Loriot.
Second, Isotropic Remeshing with Sizing Field from GSoC'23 by Ivan Pađen mentored by
Jane Tournois and Sébastien Loriot.
We present them together, as the second one relies on the first.
Interpolated Corrected Curvature Measures
Based on the article Lachaud, J.-O., Romon, P., Thibert, B. and Coeurjolly, D. (2020), Interpolated corrected curvature measures for polygonal surfaces. Computer Graphics Forum, 39: 41-54, the Polygon Mesh Processing package of CGAL now contains the functioninterpolated_corrected_curvatures()
. This function
can compute the Gaussian curvature, the mean curvature, and the principal curvatures and directions at every vertex (or a single one)
of a surface mesh. An additional parameter, the ball radius, is provided so that the curvature estimation is summed over the neighborhood within
a ball centered at each vertex (rather than using its 1-ring neighborhood) to accommodate for possible noise in the positions of vertices of
the surface mesh. Additionally, if the polygonal mesh has a user-prescribed normal vector field, as opposed to only relying on the geometric information
(e.g., post-processed normal vectors, normal vectors from normal maps), the corrected curvature measures can adapt accordingly.
Mean curvature, Gaussian curvature, Minimal principal curvature directions and Maximal principal curvature directions on a mesh.
Isotropic Remeshing with Sizing Field
Almost since the introduction of the Polygon Mesh Processing package in CGAL, the functionisotropic_remeshing()
has provided a way to isotropically and uniformly remesh a triangle mesh, given a target edge length. This implementation
includes the preservation of (sharp) feature lines, as well as the possibility to only remesh a portion of the mesh.
Extending this work, a concept of sizing field has been incorporated to the function, and a first model has been
implemented following the article Dunyach, Marion, et al. "Adaptive remeshing for real-time mesh deformation." Eurographics 2013. The Eurographics Association, 2013.
and using the Interpolated Corrected Curvature Measures function for curvature computation.
Status
All these additions already are integrated in CGAL's master branch on the CGAL GitHub repository, and will be officially released in the upcoming version of CGAL, CGAL 6.0, scheduled for mid 2024.
Documentation of the package Polygon Mesh ProcessingDocumentation section of the master branch about
interpolated_corrected_curvatures()
Documentation section of the master branch about
isotropic_remeshing()
CGAL master branch on GitHub