in revision 58154, Filtered_bbox_circular_kernel_2<Lazy_circular_kernel_2<K> >
was no longer working.
In Circular_kernel_2:
*The Rep type of Circular_arc_2, Line_arc_2 and Circular_arc_point_2 in
Filtered_bbox_circular_kernel_2 now inherits from the Rep of the kernel
template parameter. To allow Lazy filtering mechanism on
Filtered_bbox_circular_kernel_2::{Circular_arc_2,Line_arc_2,Circular_arc_point_2}
it was needed to explicit some conversions (with Lazy_circular_kernel, we add another
implicit construction, thus the compiler cannot find the correct constructor).
In Filtered_kernel:
*explicit some conversions
- The three classes Circular_arc_2, Circular_arc_point_2 and Line_arc_2
now have a proper base class with bboxes,
- The functors of Fb_ck_2 now directly use the functors of Ck_2 (without
bbox filtering) templated by Fb_ck_2: that avoids all creations of
temporary objects to convert between types CGAL::Foobar_2<CK_2> and
CGAL::Foobar_2<Fb_ck_2>.
- The number of functors in bbox_filtered_predicates has been reduced
quite a lot: all functors that were not using bboxes have been
removed. They were just forwarding all there calls to the functors
without filtering. That was useless (and created a lot of temporary
objects).
As a side effect, Fb_ck_2 now works even with -DCGAL_CFG_MATCHING_BUG_6
(VC++), because of the removal of the temporary objects.
I try to run some of the mode 'alpha' as described in the
README_benchmark_CK2.txt but this ended up with different
preconditions non validated (for alpha=1,4,5 or 8 with beta=9)
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
CircularFunctor::Do_intersect_2 because
CK::Linear_kernel::Do_intersect_2::operator() and
CircularFunctor::Do_intersect_2 have exactly the same signature! The Intel
compiler is right to say there is an ambiguity in the matching.