This commit also updates the respective mock-headers when the
corresponding .tex documentation has changed. This has been the case for:
AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_features.tex
Mesh_3/doc_tex/Mesh_3_ref/parameters_no_features.tex
Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex
Number_types/doc_tex/NumberTypeSupport_ref/Lazy_exact_nt.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_2.tex
Spatial_searching/doc_tex/Spatial_searching_ref/Search_traits_3.tex
Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex
* CODE+DOC: Bbox_3 is a nested type in CGAL's Kernel; the code uses Bbox_3
* DOC: Add Compute_squared_distance_3 in AABBGeomTraits as it is needed by AABBTraits
* DOC: remove Splitting_direction from AABBTraits as it is not used
* DOC: Squared_distance in AABBTraits is only used between two points
(I guess the confusion from the fact that nearest_point use the other
version but without using the AABBTraits model).
* CODE+DOC add the function to construct Squared_distance functor in AABBTraits + AABB_traits
and use it instead of AABBTraits::Compute_squared_distance_3 which was not in the concept
* DOC: remove from AABB_traits types Ray_3, Line_3 and Segment_3 that are not required by AABBTraits
* CODE: The code was using AABBTraits::Point which is not in the concept. Use Point_3 instead
* CODE: reorder typedefs in AABB_traits to match concept order
* simplify code of AABB_tree::First_intersection_traits
* change intersection(ray,triangle) and intersection(line,triangle):
returned object is now an empty object, a point or a segment
* remove do_intersect test from Intersection::operator() of
AABB_traits: intersection(ray,triangle) and
intersection(line,triangle) do it.
IMPORTANT THINGS
- We need to add Compute_squared_distance_3 (at least for Point_3, Point_3) to the traits requirements
- Since we use the (decorated) Traits as a template parameter for the Search_traits_3, we need to add
this as a requirement. Currently, the Search_traits_3 requests that the template parameter be a CGAL
kernel. This is much too strong!
the KD-tree uses decorated points to return the Id too.
There are just a few boost::optional to add in the traits, where we still
use the old bool intersection(..., Result&) approach, and some modernization
to do in the distance computation things.
Everything compiles.
I have removed the funtion closest_primitive from the code and documentation,
since it would not be consistent with the rest of the interface, and would not
be faster than closest_point_and_primitive.
I think we are almost done, not only for the documentation, but for the code too.