That bug has been detected by a warning:
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.10-Ic-16/Intersections_3/TestReport_lrineau_Ubuntu-latest-GCC6-CXX1z.gz
```
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h: In function 'typename CGAL::Intersection_traits<K, typename K::Plane_3, typename K::Segment_3>::result_type CGAL::internal::intersection(const typename K::Plane_3&, const typename K::Segment_3&, const K&) [with K = CGAL::Simple_cartesian<CGAL::Gmpq>]':
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1105:13: warning: this statement may fall through [-Wimplicit-fallthrough]
}
^
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1107:9: note: here
case ON_NEGATIVE_SIDE:
^~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1071:9: warning: this statement may fall through [-Wimplicit-fallthrough]
switch (target_side) {
^~~~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1090:5: note: here
case ON_NEGATIVE_SIDE:
^~~~
```
Now, the incorrect fallthrough is replaced by the return of the empty
set.
Too many tests! If the macro `__OPTIMIZE__` evaluates to true, the random testing
computes 1M tests. That is too much.
Here the test was killed, after 20 minutes, after 1M iterations with `Cartesian<double>` and 954K iterations with
`Homogeneous<MP_Float>`:
https://cgal.geometryfactory.com/CGAL/Members/testsuite/CGAL-4.7-Ic-128/Intersections_3/TestReport_lrineau_x86-64_Linux-Fedora19_llvm-clang-with-g++-4.8.gz
100K tests should be enough, and will decrease the CPU consumption by a
factor of 10.
...Actually, I am not at all convinced that those random tests are
useful! And why do we use random tests for Bbox_3/Triangle_3 and for no
other pairs of CGAL objects?
Introduces a redesign of the CGAL extension of the BGL API
Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager
Conflicts:
Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
Reintroduce the possibility to use CGAL without GMP
(to use LEDA number types instead for example).
The cmake option to set to switch off GMP when building
the lib is CGAL_DISABLE_GMP.
Tested in CGAL-4.5-Ic-86
Approved by the release manager
ge is necessary,
The BGL is not const correct by design choice. Passing a const Graph as
template parameter to the primitive type is error prone.
This will make the life easier to the user.