@lrineau lrineau released this Apr 25, 2018 · 2910 commits to master since this release

Assets 10

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

WARNING: This release features an important change of the CMake scripts
used to configure the CGAL libraries and examples. Developers using
makefiles or the Ninja build-system should set the CMAKE_BUILD_TYPE to
Release manually, to avoid using CGAL libraries without any compile-time
optimization. Please read the first paragraph of the release notes

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

Using CGAL Header-only

  • It is now possible to use CGAL without configuring it with CMake, as a
    header-only library. Note that, even if CGAL is header-only, its
    dependencies (such as GMP and MPFR) are not all header-only.

Compiler Support

  • The Microsoft Visual C++ 2017 version 15.3 has introduced support for
    C++17, with the compilation flag /std:c++17. CGAL 4.12 has an initial
    support for that flag: the code will compile, but a lot of deprecation
    warnings will remain. Note that Boost version 1.67 is the first version
    of Boost supporting /std:c++17.

  • The compilation flag /permissive- of Visual C++ is now supported.

2D Movable Separability of Sets (new package)

  • A new package called "2D Movable Separability of Sets" has been
    introduced. It handles a class of problems that deal with moving
    sets of objects in the plane; the challenge is to avoid collisions
    between the objects while considering different kinds of motions and
    various definitions of separation.

    At this point this package consists of the implementations of
    various predicates and constructions related to castings of
    polygonal objects. In particular, it can be used to determine
    whether a feasible mold for a polygonal object does exist. If a mold
    exists, the package can also be used to compute all possible
    orientations of the feasible molds and the corresponding motions
    needed to remove the casted object from the mold.

Classification (new package)

  • This package offers an algorithm that classifies a data set into a
    user-defined set of labels (such as ground, vegetation, buildings,
    etc.). A flexible API is provided so that users can classify any
    type of data, compute their own local features on the input data
    set, and define their own labels.

Kinetic Data Structures (removed package)

  • This package has been removed from CGAL-4.12. Users of the package
    will have to keep using the source code available in CGAL-4.11 or

See https://www.cgal.org/2018/04/25/cgal412/ for a complete list of