Skip to content

@lrineau lrineau released this Sep 30, 2019 · 129 commits to master since this release

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

CGAL version 5.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 5.0 in October.

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

  • Visual C++ 14.0 (from Visual Studio 2015 Update 3) or later,
  • Gnu g++ 6.3 or later (on Linux or MacOS),
  • LLVM Clang version 8.0 or later (on Linux or MacOS), and
  • Apple Clang compiler versions 7.0.2 and 10.0.1 (on MacOS).

Since CGAL 4.9, CGAL can be used as a header-only library, with
dependencies. Since CGAL 5.0, that is now the default, unless
specified differently in the (optional) CMake configuration.

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

Polygonal Surface Reconstruction (new package)

  • This package provides a method for piecewise planar object
    reconstruction from point clouds. The method takes as input an
    unordered point set sampled from a piecewise planar object and
    outputs a compact and watertight surface mesh interpolating the
    input point set. The method assumes that all necessary major planes
    are provided (or can be extracted from the input point set using the
    shape detection method described in Point Set Shape Detection, or
    any other alternative methods).The method can handle arbitrary
    piecewise planar objects and is capable of recovering sharp features
    and is robust to noise and outliers. See also the associated blog

Shape Detection (major changes)

  • BREAKING CHANGE: The concept ShapeDetectionTraits has been renamed
    to EfficientRANSACTraits.

  • BREAKING CHANGE: The Shape_detection_3 namespace has been renamed to

  • Added a new, generic implementation of region growing. This enables
    for example applying region growing to inputs such as 2D and 3D
    point sets, or models of the FaceGraph concept. Learn more about
    this new algorithm with this blog entry:

dD Geometry Kernel

  • A new exact kernel, Epeck_d, is now available.

2D and 3D Triangulations

  • BREAKING CHANGE: Several deprecated functions and classes have been
    removed. See the full list of breaking changes in the release

  • BREAKING CHANGE: The constructor and the insert() function of
    CGAL::Triangulation_2 or CGAL::Triangulation_3 which take a range
    of points as argument are now guaranteed to insert the points
    following the order of InputIterator. Note that this change only
    affects the base class CGAL::Triangulation_[23] and not any
    derived class, such as CGAL::Delaunay_triangulation_[23].

Polygon Mesh Processing

  • Introduced a wide range of new functions related to location of
    queries on a triangle mesh, such as
    CGAL::Polygon_mesh_processing::locate(Point, Mesh). The location of
    a point on a triangle mesh is expressed as the pair of a face and
    the barycentric coordinates of the point in this face, enabling
    robust manipulation of locations (for example, intersections of two
    3D segments living within the same face).
  • Added the mesh smoothing function smooth_mesh(), which can be used
    to improve the quality of triangle elements based on various
    geometric characteristics.
  • Added the shape smoothing function smooth_shape(), which can be used
    to smooth the surface of a triangle mesh, using the mean curvature
    flow to perform noise removal.

Point Set Processing

  • BREAKING CHANGE: the API using iterators and overloads for optional
    parameters (deprecated since CGAL 4.12) has been removed. The
    current (and now only) API uses ranges and Named Parameters.

See for a complete list of

Assets 10
You can’t perform that action at this time.