CGAL 4.6 offers the following improvements and new functionality over CGAL 4.5.2:
- The required version of Boost is now 1.48 or higher.
2D Polyline Simplification (new package)
- This package enables to simplify polylines with the guarantee that the topology of the polylines does not change. This can be done for a single polyline as well as for a set of polyline constraints in a constrained triangulation. The simplification can be controlled with cost and stop functions.
2D Generalized Barycentric Coordinates (new package)
- This package offers an efficient and robust implementation of two-dimensional closed-form generalized barycentric coordinates defined for simple two-dimensional polygons.
Scale-Space Surface Reconstruction (new package)
- This new package provides a class gathering a dedicated smoothing algorithm and some convenience functions to help the creation of a surface out of a point set using the 3D Alpha Shapes package. The particularity of this reconstruction pipeline is that the input point are in the output and no new points are created. Note that in the current version, the output is a triangle soup that is not necessarily a valid (manifold) polyhedral surface.
Surface Mesh (new package)
- The surface mesh class provided by this package is an implementation
of the halfedge data structure allowing to represent polyhedral
surfaces. It is an alternative to the packages
dD Triangulation (new package)
- This new package provides classes for manipulating triangulations in Euclidean spaces whose dimension can be specified at compile-time or at run-time. It also provides a class that represents Delaunay triangulations.
dD Convex Hulls and Delaunay Triangulations
- This package is deprecated and the new package Triangulation should be used instead.
dD Geometry Kernel
- It has been reported that the recently introduced
Epick_dkernel may not work with Intel C++ Compiler prior to version 15. Documentation has been updated.
3D Convex Hulls
- Added functions
halfspace_intersection_with_constructions_3to compute the intersection of halfspaces defining a closed polyhedron.
- Fixed a bug introduced in CGAL 4.5 that can appear while computing the convex hull of coplanar points.
- Fixed a robustness issue in
Convex_hull_traits_3. This traits is used by default with the kernel
Combinatorial Maps and Linear Cell Complex
CombinatorialMapconcept. This allows high level operations to not update non void attributes during massive calls of these operations, but only after the end of their executions.
- The class
Constrained_triangulation_plus_2now can handle polylines as constraints.
- As a consequence a
Constraint_idhas been introduced which replaces
pair<Vertex_handle,Vertex_handle>as identifier of a constraint.
3D Mesh Generation
- Added member functions
output_facets_in_complex_to_offin the class
CGAL::Mesh_complex_3_in_triangulation_3to export the boundary of a domain or a subdomain.
3D Fast Intersection and Distance Computation
- Added new constructors to
AABB_face_graph_triangle_primitivein order to be able to build primitives one by one.
- Fixed a bug in
CGAL::Splitters.hsliding midpoint rule, where degenerated point sets (e.g.,points on segment) caused the kd-tree to get linear.
- Improved performance of
Orthogonal_k_neighbor_search. Note that VC 2013 does not compile
boost::container::dequeof Boost 1_55 and does hence have a workaround which does not have the improvement.
- Breaking change: The concept
OrthogonalDistancehas new function overloads for
max_distance_to_rectanglewith an additional reference parameter
- Breaking change: The order of the points in the iterator range
[tree.begin(),tree.end()]is not the order of insertion of the points into the tree. This was not guaranteed before but might have been observed and exploited by users.
kd_tree_nodeto save memory.
Geometric Object Generators
- Added a new function
random_convex_hull_in_disc_2that efficiently generates a random polygon as the convex hull of uniform random points chosen in a disc.