CGAL 5.4 released


CGAL 5.4 released

Download CGAL-5.4

CGAL-5.4 documentation

CGAL 5.4 offers the following improvements and new functionality over CGAL 5.3:


General changes

  • Added the cmake target CGAL::CGAL_Basic_viewer to ease the compilation of programs using the basic viewer-based function CGAL::draw(). This target will define the macro and link with CGAL_Qt5 target when linked with it.

  • The kernel providing exact constructions and exact predicates (CGAL::Exact_predicates_exact_constructions_kernel) is now thread-safe. See changes in 2D and 3D Linear Geometry Kernel for more details.

  • The class Geomview_stream and all the dependent features have been removed from CGAL. Those features were actually no longer supported since CGAL-5.3 but it was not properly announced.

Shape Regularization (new package)

  • This package enables to regularize a set of segments and open or closed contours in 2D and a set of planes in 3D such that all input objects are rotated and aligned with respect to the user-specified conditions. In addition, it provides a global regularization framework that can be adjusted for the user needs and any type of geometric objects.

Weights (new package)

  • This package provides a simple and unified interface to different types of weights. In particular, it groups all weights into three category: analytic weights including all basic weights which can be computed analytically for a query point with respect to its local neighbors in 2D and 3D; barycentric weights, including all weights which can be computed for a query point with respect to the vertices of a planar polygon; and weighting regions, including all weights which are used to balance other weights.

2D Generalized Barycentric Coordinates (major changes)

2D and 3D Linear Geometry Kernel

dD Kernel

  • Most operations on Epeck_d objects are now thread-safe, see 2D and 3D Linear Geometry Kernel for details.

2D Arrangements

  • Breaking Change: The traits function objects Compare_x_at_limit_2 and Compare_x_near_limit_2 are renamed to Compare_x_on_boundary_2 and Compare_x_near_boundary_2, respectively.

  • A new hierarchy of traits concepts has been introduced. It captures all the valid combinations of boundary conditions for the 4 boundary sides of the parameter space. The 4 boundaries are Bottom, Top, Left, and Right. Each boundary side can be either contracted, identified, close, open, or oblivious. Not all possible combinations are valid. If one side is identified then the other must be as well. Two adjacent sides cannot be contracted.

  • A new geometric traits, Arr_geodesic_arc_on_sphere_traits_2 has been introduced. It handles arcs of great circles embedded on the unit sphere.

2D Regularized Boolean Set-Operations

3D Mesh Generation

Polygon Mesh Processing

The Heat Method

  • Breaking change: Added the functor Compute_squared_length_3 providing operator(const Vector_3& v), which computes the squared length of v, to the HeatMethodTraits_3 concept.

Point Set Processing

Shape Detection

  • Added new shapes to the Region Growing algorithm on a point set: circles in 2D, spheres in 3D, and cylinders in 3D.

CGAL and Solvers

  • Added support for the OSQP solver. This solver enables to efficiently compute the convex Quadratic Programming (QP) problems arising in the context of several packages.