CGAL 4.4

Search our News

Recent Posts

CGAL 4.4


  • Additional supported platforms:
    • The Apple Clang compiler version 5.0 is now supported on OS X Mavericks.
    • The Microsoft Windows Visual C++ compiler 2013 (VC12) is now supported.

Triangulated Surface Mesh Segmentation (new package)

  • This package implements the segmentation of triangulated surface meshes based on the Shape Diameter Function (SDF). In addition, it also provides functions to generate segmentations based on a user defined alternative to the SDF.

Number Types

  • A new class CGAL::Mpzf is introduced on some platforms for exact ring operations. It is used to improve the speed of the evaluation of predicates in degenerate situations.

2D and 3D Geometry Kernel

  • Fix a bug introduced in CGAL 4.3 when computing the intersection of two 3D triangles.

2D Polygon Partitioning

  • Bug fix to make the partition algorithms working with a Lazy kernel such as Exact_predicates_exact_constructions_kernel.

2D Regularized Boolean Set-Operations

  • Fix two memory leaks in CGAL::General_polygon_set_2.

Combinatorial Maps and Linear Cell Complex

  • null_dart_handle is no longer a static data member in the CombinatorialMap concept. This implies to move the following methods of Dart concept into CombinatorialMap concept: is_free, highest_nonfree_dimension, opposite and other_extremity. We also transform the static methods vertex_attribute and point of Linear_cell_complex class into non static methods. You can define the CGAL_CMAP_DEPRECATED macro to keep the old behavior.

2D Arrangements

  • Revise the API of polylines. In particular, construction is now done using functors and iteration is possible only on the segments of a polyline.
  • Fix a bug in the Landmark point-location strategy.

2D Snap Rounding

  • Fix a memory leak

2D Triangulations

  • Add different overloads of the function insert_constraints that inserts a range of points and segments, or a range of segments. These functions uses the spatial sorting in order to speed up the time needed for the insertion.

3D Periodic Triangulations

  • Add a method to locate point with inexact predicates.

3D Alpha Shapes

  • Add member functions in CGAL::Alpha_shape_3 to give access to the alpha status of edges and facets (get_alpha_status()).
  • Add another filtration method (filtration_with_alpha_values()) that reports the alpha value at which each face appears in the filtration.

3D Mesh Generation

  • Fix the access to functions number_of_facets and number_of_cells in Mesh_complex_3_in_triangulation_3.
  • Change the internal API of the sliver perturber, to make possible for developers to optimize another criterion than the (default) minimal dihedral angle. Developers can also define a new perturbation vector (for angles we had gradient of squared circumradius, gradient of volume, gradient of minimal dihedral angle, and random) which is better suitable to optimize their criterion.
  • Improve the use of cache values in Mesh_cell_base_3 to (re)compute circumcenters and sliver criterion values only when needed.

Triangulated Surface Mesh Simplification

  • Fix a bug in the way edges can be marked as non-removable by adding a named-parameter edge_is_constrained_map to the function edge_collapse

dD Spatial Searching

  • Fix a documentation bug: The property map passed as template parameter to the classes Search_traits_adapter and Distance_adapter must be a lvalue property map. To avoid incorrect usage, a static assertion has been added in the CGAL code to prevent the user from instantiating these classes with an incorrect property map type.

CGAL ipelets

  • Better description of the demo ipelets in the user manual
  • New ipelet for pencils of circles
  • New ipelet for hyperbolic geometry in Poincaré model
  • The generator ipelet now generates point in a selected zone
  • Hilbert sort ipelet implements two policies