Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] CGAL 5.5 Released, Computational Geometry Algorithms Library

Subject: CGAL users discussion list

List archive

[cgal-discuss] CGAL 5.5 Released, Computational Geometry Algorithms Library


Chronological Thread 
  • From: Laurent Rineau <>
  • To: , , ,
  • Subject: [cgal-discuss] CGAL 5.5 Released, Computational Geometry Algorithms Library
  • Date: Mon, 18 Jul 2022 15:35:18 +0200
  • Authentication-results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none
  • Organization: GeometryFactory

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


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

3D Alpha Wrapping (new package)

- This component takes a 3D triangle mesh, soup, or point set as
input, and generates a valid (watertight, intersection-free, and
combinatorially 2-manifold) surface triangle mesh that contains the
input. The algorithm proceeds by shrink-wrapping and refining a 3D
Delaunay triangulation, starting from a loose bounding box of the
input. Two user-defined parameters, alpha and offset, offer control
over the maximum size of cavities where the shrink-wrapping process
can enter, and the tightness of the final surface mesh to the input,
respectively. Once combined, these parameters provide a means to
trade fidelity to the input for complexity of the output.

See also https://www.cgal.org/2022/05/18/alpha_wrap/.

2D Straight Skeleton and Polygon Offsetting (breaking change)

- Fix the output of the function
CGAL::create_exterior_skeleton_and_offset_polygons_with_holes_2() to
not take into account the offset of the outer frame.
- Fix the computation of the exterior offset of a polygon with holes
that was not computing the offset of the holes

3D Convex Hulls

- Added an overload of the function CGAL::convex_hull_3(), which
writes the result in an indexed triangle set.

2D Polygons

- Add vertex, edge, and hole ranges.
- The concept GeneralPolygonWithHoles_2 now requires the nested type
Polygon_2 instead of General_polygon_2.

2D Regularized Boolean Set-Operations

- The concept GeneralPolygonSetTraits_2 now requires the nested type
Construct_polygon_with_holes_2 instead of
Construct_general_polygon_with_holes_2.

Combinatorial Maps

- Removed old code deprecated in CGAL 4.9 and 4.10 (global functions,
and information associated with darts).

2D Arrangements

- Fixed the intersect_2, compare_y_at_x_right, and compare_y_at_x_left
function objects of the traits class template
Arr_geodesic_arc_on_sphere_traits_2 that handles geodesic arcs on
sphere and applied a small syntactical fix to the tracing traits.

Tetrahedral Mesh Generation

- Added the function remove_isolated_vertices() as a post-processing
step for the tetrahedral mesh generation.

Polygon Mesh Processing

- Added the function

CGAL::Polygon_mesh_processing::orient_triangle_soup_with_reference_triangle_soup(),
which enables re-orienting the faces of a triangle soup based on the
orientation of the nearest face in a reference triangle soup.
- Added the function
CGAL::Polygon_mesh_processing::compatible_orientations(), which
enables to retrieve the (in)compatibility of orientations of faces
from different connected components.
- Added the function
CGAL::Polygon_mesh_processing::tangential_relaxation(), which
applies an area-based tangential mesh smoothing to the vertices of a
surface triangle mesh.
- Added the named parameter visitor to the function
triangulate_hole(), which enables to track progress with callbacks.
- Added more functions in the visitor of the corefinement based
methods to track progress.

Surface Mesh Simplification

- Introduced four variations of the Garland-Heckbert simplification
algorithm based on the probabilistic approach of Trettner and
Kobbelt (Fast and Robust QEF Minimization using Probabilistic
Quadrics): GarlandHeckbert_plane_policies,
GarlandHeckbert_probabilistic_plane_policies,
GarlandHeckbert_triangle_policies, and
GarlandHeckbert_probabilistic_triangle_policies.
- The class GarlandHeckbert_policies has been deprecated,
GarlandHeckbert_plane_policies replaces it.

Point Set Processing

- A new optional named parameter, min_points_per_cell has been added
to grid_simplify_point_set(). By adding a minimal number of points
in a cell such that a point is retained, one can also filter out low
density areas and outliers: in the case of densely sampled point
clouds, this yields better results than using grid simplification
and then outlier removal, while being very vast. The default value
is 1 to keep the previous behavior as default.

dD Spatial Searching

- Added the member function write_graphviz() to the class Kd_tree that
writes the tree in a stream in the Graphviz format.

CGAL and the Boost Graph Library (BGL)

- Added the function invert_selection() in the class
Face_filtered_graph, which toggles the selected status of a graph:
selected faces are deselected, and unselected faces are selected.


See https://www.cgal.org/2022/07/15/cgal55/ for a
complete list of changes.


The same day, we also published CGAL-5.4.2, the second bug-fix release for
CGAL-5.4. See https://www.cgal.org/2022/07/15/cgal5.4.2/.


The CGAL project is a collaborative effort to develop a robust,
easy-to-use, and efficient C++ software library of geometric data
structures and algorithms, like
- triangulations (2D constrained triangulations, Delaunay triangulations
and periodic triangulations in 2D and 3D),
- Voronoi diagrams (for 2D and 3D points, 2D additively weighted
Voronoi diagrams, and segment Voronoi diagrams),
- Boolean operations on polygons and polyhedra,
- regularized Boolean operations on polygons with curved arcs
- arrangements of curves,
- mesh generation (2D, 3D and surface mesh generation,
surface mesh subdivision and parametrization),
- alpha shapes (in 2D and 3D),
- convex hull algorithms (in 2D, 3D and dD),
- operations on polygons (straight skeleton and offset polygon),
- search structures (kd trees for nearest neighbor search, and
range and segment trees),
- interpolation (natural neighbor interpolation and placement of
streamlines),
- optimization algorithms (smallest enclosing sphere of points or
spheres, smallest enclosing ellipsoid of points, principal
component analysis).




Some modules are distributed under the terms of the LGPL Open Source
license (GNU Lesser General Public License v3 or later versions).
Most modules are distributed under the terms of the GPL Open Source
license (GNU General Public License v3 or later versions).
If your intended usage does not meet the criteria of the
aforementioned licenses, a commercial license can be purchased from
GeometryFactory (http://www.geometryfactory.com/).


For further information and for downloading the library and its
documentation, please visit the CGAL web site: https://www.cgal.org/





  • [cgal-discuss] CGAL 5.5 Released, Computational Geometry Algorithms Library, Laurent Rineau, 07/18/2022

Archive powered by MHonArc 2.6.19+.

Top of Page