CGAL 3.7 offers the following improvements and new functionality over CGAL 3.6.1:
Changelog
General
- The configuration of CGAL libraries now requires CMake>=2.6.
- Changes in the set of supported platforms:
- GNU g++ 4.5 supported (with or without the compilation option -std=c++0x).
- Initial support for the option -strict-ansi of the Intel Compiler 11. The CGAL libraries compile with that option, and most CGAL headers have been fixed. The packages “3D Boolean Operations on Nef Polyhedra” (Nef_3), “Convex Decomposition of Polyhedra” (Convex_decomposition_3), and “3D Minkowski Sum of Polyhedra” (Minkowski_sum_3) are known to still fail to compile with that compiler flag.
- The Microsoft Windows Visual C++ compiler 2010 (VC10), that was experimentally supported by CGAL-3.6.1, is now fully supported. Note that CMake>=2.8.2 is required for that support.
- The Microsoft Windows Visual C++ compiler 2005 (VC8) is no longer supported by the CGAL project since CGAL-3.7.
- With Microsoft Windows Visual C++ (VC9 and VC10), the optional dependencies Gmp, Mpfr, Blas, Lapack, Taucs no longer use Boost-style name mangling. Only one variant is now provided by the CGAL Windows installer (release, with dynamic runtime).
- Some demos now require a version of Qt4 >= 4.3.
- CGAL_PDB is no longer provided with CGAL. An alternative solution for people interested in reading PDB files is to use ESBTL (http://esbtl.sourceforge.net/).
- Fixed issues of the CGAL wrappers around the CORE library, on 64 bits platforms.
Arithmetic and Algebra
- New models
Algebraic_kernel_d_1
andAlgebraic_kernel_d_2
for the corresponding concepts. They provide generic support for various coefficient types.
Arrangements
- A new model
Arr_algebraic_segment_traits_2
ofArrangementTraits_2
that supports algebraic curves of arbitrary degree in the plane
2D Triangulations
- The Delaunay and regular 2D triangulations now use a symbolic perturbation to choose a particular triangulation in co-circular cases.
- The return type of the template member function
insert(It beg, It end)
, taking an iterator range of points, has been changed from int tostd::ptrdiff_t
. - Classes
Triangulation_euclidean_traits_xy_3,
Triangulation_euclidean_traits_yz_3
andTriangulation_euclidean_traits_xz_3
are now model of the concept ConstrainedTriangulationTraits_2. They can be used with and without intersection of constraints. - 2D Delaunay and basic triangulations now provide vertex relocation
by the mean of these two new methods: move and
move_if_no_collision. The methods are also available for the
hierarchy (
Triangulation_hierarchy_2
).
3D Triangulations
- The return type of the template member function
insert(It beg, It end)
, taking an iterator range of points, has been changed from int tostd::ptrdiff_t
. - 3D Delaunay triangulations now provide vertex relocation by the mean
of these two new methods: move and move_if_no_collision. This
works in both
Compact_policy
andFast_policy
.
2D and 3D Alpha Shapes
- The type
int
in the API has been changed tostd::size_t
so that CGAL can deal with large data sets (64 bit addresses).
2D Mesh Generation
- The execution of the 2D mesh generator is now deterministic (same at each run).
3D Mesh Generation
- The efficiency of the 3D mesh generator has been improved (the
number of calls to the oracle per inserted vertex has globally
decrease). This is achieved through a slight change of the mesh
generator strategy which implies that a surface component that is
not detected at the surface mesher level will never be discovered by
chance, owing to the refinement of some tetrahedra, as it could
happen before. Please note that defining the macro
CGAL_MESH_3_USE_OLD_SURFACE_RESTRICTED_DELAUNAY_UPDATE
switches back to the old behavior. - A demo program is now available.
Surface Reconstruction from Point Sets
- Improved performance and minor bug fix.
2D Range and Neighbor Search
- The type
int
in the API has been changed tostd::size_t
so that CGAL can deal with large data sets (64 bit addresses).