Skip to content

Releases: CGAL/cgal

CGAL 6.1

01 Oct 14:47
Immutable release. Only release title and notes can be modified.
v6.1
b26b07a
Compare
Choose a tag to compare

The CGAL Open Source Project is pleased to announce the release 6.1 of CGAL, the Computational Geometry Algorithms Library.

Besides fixes and general enhancement to existing packages, the following has changed since CGAL 6.0:

General Changes

  • The new list of supported compilers is:
    • Visual C++ 15.9, 16.10, 17.0 (from Visual Studio 2017, 2019 and 2022) or later
    • Gnu g++ 12.2.0 or later (on Linux)
    • LLVM Clang version 20.1.6 or later (on Linux)
    • Apple Clang compiler versions 12.0.5 and 12.0.5 (on macOS)
  • The minimal supported version of Boost is now 1.74.0.

3D Constrained Triangulations (new package)

  • This package implements the construction of a 3D Constrained Delaunay triangulation. This triangulation is a generalization of a 3D Delaunay Triangulation which conforms to the set of faces of a 3D piecewise linear complex (PLC), ensuring that these faces are part of the triangulation. As not all PLCs are tetrahedralizable, the algorithm may insert Steiner points to construct the constrained triangulation. The main entry point is the function CGAL::make_conforming_constrained_Delaunay_triangulation_3().

3D Isosurfacing (new package)

  • This package provides algorithms to extract isosurfaces from scalar fields. The algorithms provided in this first version include Marching Cubes, Topologically Correct Marching Cubes, and Dual Contouring. The algorithm is generic with respect to the scalar field representation (implicit function, discrete values, …) and the discretization data structure (Cartesian grid, octree, …). The output is an indexed face set that stores an isosurface in the form of a surface mesh.

dD Fréchet Distance (new package)

  • This package provides functions for computing the Fréchet distance of polylines in any dimension under the Euclidean metric.

2D Triangulations on Hyperbolic Surfaces (new package)

  • This package enables building and handling triangulations of closed orientable hyperbolic surfaces. It offers functions for the generation of the triangulation from a convex fundamental domain, the Delaunay flip algorithm, and the construction of a portion of the lift of the triangulation in the Poincaré disk. A method is offered that generates such domains in genus two.

    See also the associated news entry.

Polygon Repair

Polygon Mesh Processing

Point Set Processing

  • Added CGAL::poisson_eliminate(), which can be used to downsample a point cloud to a target size while providing Poisson disk property, i.e., a larger minimal distance between points.

CGAL and the Boost Graph Library (BGL)

2D Arrangements

  • Breaking change: Renamed the concept AosApproximateTraits_2 to AosApproximatePointTraits_2 to make room for the new concept AosApproximateTraits_2. This concept requires the provision of a functor called Approximate_2 that has an operator that approximates the coordinates of a point.
  • Breaking change: The concept AosApproximateTraits_2 now refines the concept AosApproximatePointTraits_2 and requires the provision of a functor called Approximate_2. In addition to an operator that approximates the coordinates of a point, it also requires the provision of (i) an operator that approximates a points, and (ii) an operator that approximates a curve.
  • Renamed the prefix of the names of all concepts in the Arrangement_on_surface_2 package from “Arrangement” to “Aos”.
  • Introduced two traits decorators, namely CGAL::Arr_tracing_traits_2 and CGAL::Arr_counting_traits_2, which can be used to extract debugging and informative metadata about the traits in use while a program is being executed.
  • Fixed the Landmark point-location strategy so that it can be applied to arrangements on a sphere.
  • Fixed a bug in the extensions of vertex and halfedge types of the DCEL when used to instantiate Arrangement_with_history_2 or similar arrangement classes that derive from Arrangement_2.
  • Fixed do_intersect() of a 2D Arrangement with a curve.

Triangulations

  • All triangulations now offer the functions point(Vertex_handle) and point(Simplex, int), which enables users to access the geometric position of a vertex and of the i-th vertex of a simplex of a triangulation.

Poisson Surface Reconstruction

  • Added a new mesh domain Poisson_mesh_domain_3 that integrates some optimizations from the deprecated 3D Surface Mesh Generation package.

...

Read more

CGAL 6.0.2

17 Sep 15:42
e13ef80
Compare
Choose a tag to compare

CGAL-6.0.2 is a bug-fix release.

See on Github the list of bugs that were solved since CGAL-6.0.1.

Full Changelog: v6.0.1...v6.0.2

CGAL 6.1-beta2

17 Sep 15:42
Immutable release. Only release title and notes can be modified.
Compare
Choose a tag to compare
CGAL 6.1-beta2 Pre-release
Pre-release

The CGAL Open Source Project is pleased to announce the release 6.1 Beta 2 of CGAL, the Computational Geometry Algorithms Library.

CGAL version 6.1 Beta 2 is a public testing release. It should provide a solid ground to report bugs that need to be tackled before the release of the final version of CGAL 6.1 in Sept 2025.

The changelog is available at https://www.cgal.org/2025/09/17/cgal61-beta2/.

CGAL 5.6.3

17 Sep 15:42
3654f78
Compare
Choose a tag to compare

CGAL-5.6.3 is a bug-fix release.

See on Github the list of bugs that were solved since CGAL-5.6.2.

CGAL 6.1-beta1

07 Jul 09:08
Immutable release. Only release title and notes can be modified.
v6.1-beta1
Compare
Choose a tag to compare
CGAL 6.1-beta1 Pre-release
Pre-release

The CGAL Open Source Project is pleased to announce the release 6.1 Beta 1 of CGAL, the Computational Geometry Algorithms Library.

CGAL version 6.1 Beta 1 is a public testing release. It should provide a solid ground to report bugs that need to be tackled before the release of the final version of CGAL 6.1 in Sept 2025.

Change log available at https://www.cgal.org/2025/07/07/cgal61-beta1/.

CGAL 5.6.2

22 Oct 17:12
v5.6.2
Compare
Choose a tag to compare

CGAL-5.6.2 is a bug-fix release.

See on Github the list of bugs that were solved since CGAL-5.6.1.

CGAL 5.5.5

22 Oct 16:59
v5.5.5
Compare
Choose a tag to compare

CGAL-5.5.5 is a bug-fix release.

See on Github the list of bugs that were solved since CGAL-5.5.4.

CGAL 6.0.1

22 Oct 13:18
v6.0.1
Compare
Choose a tag to compare

CGAL-6.0.1 is a bug-fix release.

See on Github the list of bugs that were solved since CGAL-6.0.

Full Changelog: v6.0...v6.0.1

CGAL 6.0

27 Sep 15:57
v6.0
50219fc
Compare
Choose a tag to compare

The CGAL Open Source Project is pleased to announce the release 6.0 of CGAL, the Computational Geometry Algorithms Library.

Besides fixes and general enhancement to existing packages, the following has changed since CGAL 5.6:

General Changes

  • CGAL 6.0 is the first release of CGAL that requires a C++ compiler with the support of C++17 or later. The new list of supported compilers is:

    • Visual C++ 15.9, 16.10, 17.0 (from Visual Studio 2017, 2019 and 2022) or later
    • Gnu g++ 11.4.0 or later (on Linux or macOS)
    • LLVM Clang version 15.0.7 or later (on Linux)
    • Apple Clang compiler versions 10.0.1, 12.0.5, and 15.0.0 (on macOS)
  • The minimal supported version of Boost is now 1.72.0.

  • GMP/MPFR are no longer mandatory to use CGAL, Boost.Multiprecision. can be used instead.

  • The CGAL Core library is no longer based on GMP, but on Boost.Multiprecision. Either GMP backend or Boost backend can be used.

  • All demos are now based on Qt6.

  • Breaking change: The CMake file UseCGAL.cmake has been removed from CGAL. Usages of the CMake variables ${CGAL_USE_FILE} and ${CGAL_LIBRARIES} must be replaced by a link to the imported target CGAL::CGAL, for example:

        target_link_library(your_target PRIVATE CGAL::CGAL)

Kinetic Space Partition (new package)

  • This package implements kinetic space partition: based on a set of planar input shapes, the bounding box of the input data is split into convex volumes. The complexity of the partition can be adjusted with a single parameter.

Kinetic Surface Reconstruction (new package)

Basic Viewer (new package)

Polygon Repair (new package)

  • This package provides algorithms to repair 2D polygons, polygons with holes, and multipolygons with holes, by selecting faces of the arrangement of the input using the odd-even heuristic.

2D and 3D Linear Geometry Kernel

  • Breaking change: Replaced all instances of boost::variant with std::variant in the intersection functions.
  • Breaking change: Replaced all instances of boost::optional with std::optional in the intersection functions.

3D Polyhedral Surface

  • The demo of this package, also known as “Polyhedron Demo” has been renamed “CGAL Lab” and moved to its own package (“Lab”).

2D and 3D Fast Intersection and Distance Computation (AABB Tree)

2D Arrangements

  • Breaking change: Replaced all instances of boost::variant with std::variant.
  • Breaking change: The type of the result of point location queries has been changed to std::variant. Support for the old macro CGAL_ARR_POINT_LOCATION_VERSION has been removed.
  • Breaking change: Eliminated the error-prone C-type casting that was used to define observers. In general, backward compatibility was maintained; however, the class template CGAL::Arr_observer has been replaced by an alias template. (The class CGAL::Arr_observer was renamed to CGAL::Aos_observer).
  • Introduced Arr_dcel, which essentially replaces the former CGAL::Arr_default_dcel. Backward compatibility was maintained by the introduction of the alias template CGAL::Arr_default_dcel. CGAL::Arr_dcel, as opposed to the former CGAL::Arr_default_dcel is templated (in addition to the geometry traits) by Vertex, Halfedge, and Face template parameters, and they have default type values. All this enables the layered extension of DCEL records.
  • Fixed a bug in the zone construction code applied to arrangements of geodesic arcs on a sphere, when inserting an arc that lies on the identification curve.
  • Introduced a new interactive program that demonstrates 2D arrangements embedded on the sphere called earth. The program (i) reads a database of all administrative boundaries of the countries in the world, (ii) displays the globe with all countries and land covered by water (which is land not covered by countries) on a window, and (ii) enables interaction with the user.

3D Envelopes

  • Breaking change: [Construct_projected_boundary_2](https://d...
Read more

CGAL 6.0-beta1

21 Jun 15:39
v6.0-beta1
9075f96
Compare
Choose a tag to compare
CGAL 6.0-beta1 Pre-release
Pre-release

The CGAL Open Source Project is pleased to announce the release 6.0 Beta 1 of CGAL, the Computational Geometry Algorithms Library.

CGAL version 6.0 Beta 1 is a public testing release. It should provide a solid ground to report bugs that need to be tackled before the release of the final version of CGAL 6.0 in July 2024.

Besides fixes and general enhancement to existing packages, the following has changed since CGAL 5.6:

General Changes

  • CGAL 6.0 is the first release of CGAL that requires a C++ compiler with the support of C++17 or later. The new list of supported compilers is:
    • Visual C++ 15.9, 16.10, 17.0 (from Visual Studio 2017, 2019 and 2022) or later
    • Gnu g++ 11.4.0 or later (on Linux or macOS)
    • LLVM Clang version 15.0.7 or later (on Linux)
    • Apple Clang compiler versions 10.0.1, 12.0.5, and 15.0.0 (on macOS)
  • The minimal supported version of Boost is now 1.72.0.
  • The CGAL Core library is no longer based on GMP, but on Boost.Multiprecision. Either GMP backend or Boost backend can be used.
  • All demos are now based on Qt6.
  • Breaking change: The CMake file UseCGAL.cmake has been removed from CGAL. Usages of the CMake variables ${CGAL_USE_FILE} and ${CGAL_LIBRARIES} must be replaced by a link to the imported target CGAL::CGAL, for example: target_link_library(your_target PRIVATE CGAL::CGAL).

Kinetic Space Partition (new package)

  • This package implements kinetic space partition: based on a set of planar input shapes, the bounding box of the input data is split into convex volumes. The complexity of the partition can be adjusted with a single parameter.

Kinetic Surface Reconstruction (new package)

Basic Viewer (new package)

Polygon Repair (new package)

  • This package provides algorithms to repair 2D polygons, polygons with holes, and multipolygons with holes, by selecting faces of the arrangement of the input using the odd-even heuristic.

2D and 3D Linear Geometry Kernel

  • Breaking change: Replaced all instances of boost::variant with std::variant in the intersection functions.
  • Breaking change: Replaced all instances of boost::optional with std::optional in the intersection functions.

3D Polyhedral Surface

  • The demo of this package, also known as “Polyhedron Demo” has been renamed “CGAL Lab” and moved to its own package (“Lab”).

2D and 3D Fast Intersection and Distance Computation (AABB Tree)

2D Arrangements

  • Breaking change: Replaced all instances of boost::variant with std::variant.
  • Breaking change: The type of the result of point location queries has been changed to std::variant. Support for the old macro CGAL_ARR_POINT_LOCATION_VERSION has been removed.
  • Breaking change: Eliminated the error-prone C-type casting that was used to define observers. In general, backward compatibility was maintained; however, the class template CGAL::Arr_observer has been replaced by an alias template. (The class CGAL::Arr_observer was renamed to CGAL::Aos_observer).
  • Introduced Arr_dcel, which essentially replaces the former CGAL::Arr_default_dcel. Backward compatibility was maintained by the introduction of the alias template CGAL::Arr_default_dcel. CGAL::Arr_dcel, as opposed to the former CGAL::Arr_default_dcel is templated (in addition to the geometry traits) by Vertex, Halfedge, and Face template parameters, and they have default type values. All this enables the layered extension of DCEL records.
  • Fixed a bug in the zone construction code applied to arrangements of geodesic arcs on a sphere, when inserting an arc that lies on the identification curve.
  • Introduced a new interactive program that demonstrates 2D arrangements embedded on the sphere called earth. The program (i) reads a database of all administrative boundaries of the countries in the world, (ii) displays the globe with all countries and land covered by water (which is land not covered by countries) on a window, and (ii) enables interaction with the user.

3D Envelopes

  • Breaking change: [Construct_projected_boundary_2](https://...
Read more