CGAL 6.0 #8503
lrineau
started this conversation in
Show and tell
CGAL 6.0
#8503
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
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:
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 targetCGAL::CGAL
, for example:target_link_library(your_target PRIVATE CGAL::CGAL)
Kinetic Space Partition (new package)
Kinetic Surface Reconstruction (new package)
Basic Viewer (new package)
CGAL::draw()
function. There is one suchdraw()
function for each CGAL package that has a basic viewer. Such a call opens an interactive window showing the given model and allowing to navigate in the scene, show or hide some specific cells, show the interior of the model if any, etc. TheBasic_viewer
is based on Qt6.Polygon Repair (new package)
2D and 3D Linear Geometry Kernel
boost::variant
withstd::variant
in the intersection functions.boost::optional
withstd::optional
in the intersection functions.3D Polyhedral Surface
2D and 3D Fast Intersection and Distance Computation (AABB Tree)
AABBGeomTraits
andAABBRayIntersectionGeomTraits
have been replaced byAABBGeomTraits_3
and byAABBRayIntersectionGeomTraits_3
, respectively.AABBGeomTraits_2
andAABBRayIntersectionGeomTraits_2
have been introduced, as the 2D counterparts.CGAL::AABB_traits
is deprecated and replaced byCGAL::AABB_traits_3
.CGAL::AABB_traits_2
is introduced as the 2D counterpart.CGAL::AABB_segment_primitive
has been deprecated and replaced by the classCGAL::AABB_segment_primitive_3
.CGAL::AABB_triangle_primitive
has been deprecated and replaced by the classCGAL::AABB_triangle_primitive_3
.CGAL::AABB_segment_primitive_2
,CGAL::AABB_polyline_segment_primitive_2
,CGAL::AABB_triangle_primitive_2
,CGAL::AABB_indexed_triangle_primitive_2
.AABBTraits
now refines the conceptSearchTraits
.boost::optional
withstd::optional
.2D Arrangements
boost::variant
withstd::variant
.std::variant
. Support for the old macroCGAL_ARR_POINT_LOCATION_VERSION
has been removed.CGAL::Arr_observer
has been replaced by an alias template. (The classCGAL::Arr_observer
was renamed toCGAL::Aos_observer
).Arr_dcel
, which essentially replaces the formerCGAL::Arr_default_dcel
. Backward compatibility was maintained by the introduction of the alias templateCGAL::Arr_default_dcel
.CGAL::Arr_dcel
, as opposed to the formerCGAL::Arr_default_dcel
is templated (in addition to the geometry traits) byVertex
,Halfedge
, andFace
template parameters, and they have default type values. All this enables the layered extension of DCEL records.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
Construct_projected_boundary_2
inEnvelopeTraits_3
now usesstd::variant
instead ofCGAL::Object
.CGAL::Env_plane_traits_3
as a template parameter with a default value (being the 2D arrangement linear traits). Similarly, passed the base class ofCGAL::Env_triangle_traits_3
as a template parameter with a default value (being the 2D arrangement segment traits).Combinatorial Maps and Generalized Maps
insert_cell_1_between_two_cells_2()
to theGenericMap
concept, which enables users to insert an edge between two different faces in order to create faces with holes.Quadtrees, Octrees, and Orthtrees
CGAL and the Boost Graph Library (BGL)
CGAL::remove_all_elements()
, which removes vertices, halfedges, and faces without collecting garbage and without removing properties.CGAL::Face_filtered_graph
now supports patch IDs of any type and not justfaces_size_type
. The only requirement is that the type is hashable.Polygon Mesh Processing
CGAL::Polygon_mesh_processing::autorefine_triangle_soup()
, which can be used to refine a soup of triangles such that no pair of triangles intersects in their interiors. Also added, the functionCGAL::Polygon_mesh_processing::autorefine()
operating directly on a triangle mesh and updating it using the aforementioned function on a triangle soup.CGAL::Corefinement::Non_manifold_output_visitor
, which can be used in corefinement based functions to deal with non-manifold outputs.CGAL::Polygon_mesh_processing::isotropic_remeshing()
, and a sizing function based on a measure of local curvature for adaptive remeshing.CGAL::Polygon_mesh_processing::interpolated_corrected_curvatures()
which can be used to compute the mean and Gaussian curvatures, as well as the principal curvature and directions.CGAL::Polygon_mesh_processing::refine_mesh_at_isolevel()
which can be used to refine a polygon mesh along an isocurve.CGAL::Polygon_mesh_processing::add_bbox()
, which enables adding a tight or extended, triangulated or not, bounding box to a face graph.2D Triangulations
TriangulationTraits_2
now requires an additional functorCompare_xy_2
.3D Triangulations
vertices()
to the classCGAL::Triangulation_3
. Each of them returns an array containing the vertices of the given triangulation simplex.dD Triangulations
CGAL::TDS_full_cell_mirror_storage_policy
is now unsupported in dimension larger than 127.Tetrahedral Remeshing
CGAL::tetrahedral_isotropic_remeshing()
, which can be used to perform non-uniform and adaptive remeshing.CGAL::Tetrahedral_remeshing::Remeshing_cell_base_3
have been modified, reverting changes introduced in CGAL 5.6.CGAL::Tetrahedral_remeshing::Remeshing_vertex_base_3
must now be a model of the conceptSimplicialMeshVertexBase_3
(and not onlyTriangulationVertexBase_3
).3D Simplicial Mesh Data Structure
CGAL::Simplicial_mesh_cell_base_3
have been modified to enable passing a geometric traits and a custom cell base class.3D Mesh Generation
TriangleAccessor
, the template parameterTriangleAccessor
, as well as the classTriangle_accessor
. These were no longer used for several releases.CGAL::Gray_image_mesh_domain_3
,CGAL::Implicit_mesh_domain_3
, andCGAL::Labeled_image_mesh_domain_3
, which were deprecated since CGAL-4.13.edge_distance
, an upper bound for the distance from the edge to the 1D feature.MeshEdgeCriteria_3
was modified to include the new meshing criterionedge_distance
.3D Surface Mesh Generation
Surface Mesh Parameterization
CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3
now requires the Eigen library.Surface Mesh
CGAL::Surface_mesh::property_map()
has been changed tostd::optional
.3D Point Set
CGAL::Point_set_3::property_map()
has been changed tostd::optional
.Shape Detection
boost::shared_ptr
withstd::shared_ptr
.2D Straight Skeleton and Polygon Offsetting
boost::shared_ptr
withstd::shared_ptr
.boost::optional
withstd::optional
.This discussion was created from the release CGAL 6.0.
Beta Was this translation helpful? Give feedback.
All reactions