* it provides to the polyhedron demo the functionalities of the Point_set demo (but splatting)
* convex hull working on points
* plugin callable depending on items selected
When the value of the Boolean cache variable BUILD_SHARED_LIBS is modified,
there was a bug that the variable CGAL_LIBRARY_NAME,
CGAL_Core_LIBRARY_NAME, CGAL_Qt4_LIBRARY_NAME, and so on, were not
updated. As a consequence, the file CGALConfig.cmake produced in the
installation directory was not correct: it was referring to .so files
whereas the installed binaries were .a files, or the reverse.
This patch fixes the issue.
Bug reported by a user against CGAL-4.0.2
A single triangle cannot be meshed!
The fault was a buggy assertion added in the following revision:
|-----------------------------------------------------------------------
|r66359 | lrineau | 2011-11-16 18:58:22 +0100 (Wed, 16 Nov 2011) | 3 lines
|
|Add an assertion that checks that a point constructed as the midpoint of an
|edge is located either on the edge or inside one of the two incident faces.
|
|-----------------------------------------------------------------------
And the assertion message was:
terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: zone.locate_type != Tr::FACE || zone.fh == f || zone.fh == n
File: /home/lrineau/wc/Mesh_2/test/Mesh_2/../../include/CGAL/Mesh_2/Refine_edges.h
Line: 430
Explanation: Your data set contains at least a vertex that is very close to
a constrained edge! Mesh_2 cannot mesh that sort of data set.
| ------------------------------------------------------------------------
| r57003 | afabri | 2010-06-23 10:30:32 +0200 (Wed, 23 Jun 2010) | 1 line
|
| int -> size_t and static_casts
| ------------------------------------------------------------------------
The conversion from int to size_t is not always safe. Here the right type
was a signed type: std::ptrdiff_t, especially because the variable stores a
difference between two pointers.
The bug was discovered by a very recent version of clang:
clang version 3.2 (trunk 160721)
The error was:
cd /home/lrineau/CGAL/CGAL-4.1-Ic-113/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/src/CGAL && /usr/local/packages/llvm-trunk/bin/clang++ -DCGAL_EXPORTS -DCGAL_TEST_SUITE -DCGAL_USE_MPFR -DCGAL_USE_GMPXX -DCGAL_USE_GMP --std=c++11 -fno-strict-aliasing -Wall -fPIC -I/home/lrineau/CGAL/CGAL-4.1-Ic-113/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/include -I/home/lrineau/CGAL/CGAL-4.1-Ic-113/include -I/home/lrineau/CGAL/boost/boost-release-branch -o CMakeFiles/CGAL.dir/all_files.cpp.o -c /home/lrineau/CGAL/CGAL-4.1-Ic-113/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/src/CGAL/all_files.cpp
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-113/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/src/CGAL/all_files.cpp:2:
/home/lrineau/CGAL/CGAL-4.1-Ic-113/src/CGAL/JAMA_numeric_solver.cpp:83:14: error: case value evaluates to -1, which cannot be narrowed to type 'std::size_t' (aka 'unsigned long') [-Wc++11-narrowing]
case -1:
^
/home/lrineau/CGAL/CGAL-4.1-Ic-113/src/CGAL/JAMA_numeric_solver.cpp:109:14: error: case value evaluates to -1, which cannot be narrowed to type 'std::size_t' (aka 'unsigned long') [-Wc++11-narrowing]
case -1:
^
In file included from /home/lrineau/CGAL/CGAL-4.1-Ic-113/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/src/CGAL/all_files.cpp:13:
/home/lrineau/CGAL/CGAL-4.1-Ic-113/src/CGAL/Turkowski_numeric_solver.cpp:398:8: error: case value evaluates to -1, which cannot be narrowed to type 'std::size_t' (aka 'unsigned long') [-Wc++11-narrowing]
case -1:
^
/home/lrineau/CGAL/CGAL-4.1-Ic-113/src/CGAL/Turkowski_numeric_solver.cpp:431:8: error: case value evaluates to -1, which cannot be narrowed to type 'std::size_t' (aka 'unsigned long') [-Wc++11-narrowing]
case -1:
^
4 errors generated.
to the FindQt3 module shipped with CMake
CGAL FindQt3-patched module uses the prefix QT3_ for all cache variables,
instead of just QT_. That allows to use Qt3 and Qt4 in the same project
(but for different binaries of course).
As of Boost 1.50 it is required to link Boost.System with CGAL. System
has been a Thread dependency all along and we simply never linked to
it and apparently got lucky.
Add it to the dependencies, add it in the manual and INSTALL file.
This bug has been reportet by Michael Kerber. In his setup
GMP/MPFR are not in the same directory which resulted in
a 'missing mpfr.h'. Thanks for pointing out.