this commit introduces a heuristic to try other split points, close to midpoint, and hope
to find one that do not invert any incident tetrahedron to the edge to be split
_Please use the following template to help us managing pull requests._
## Summary of Changes
compare_squared_distance are know wrote specifically for each pair of
objects instead of simply calling compare and squared_distance improving
performance.
Add test and benchmark for compare_squared_distance.
Add global functions to call compare_squared_distance.
## Release Management
* Affected package(s): Distance_3
* Issue(s) solved (if any):
* Feature/Small Feature (if any):
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership:
## Summary of Changes
The changes fix a bug in the extensions of vertex and halfedge types of
the DCEL when used to instantiate Arrangement_with_history_2 or similar
arrangement classes that derive from Arrangement_2.
Typically, only the face type is extended or all the 3 types (vertex,
halfedge, and face) are extended, and for such extensions we have
dedicated class templates. The bug shows up when trying to extend any
other subset of the 3 types, and apparently, this hasn't been used much
with Arrangement_with_history_2.
## Release Management
* Affected package(s): Arrangement_on_surface_2
* Issue(s) solved (if any): NA
* Feature/Small Feature (if any): NA
* Link to compiled documentation: NA
* License and copyright ownership: TAU
There is also a stronger need because now we really need to map
types whereas before it could rely on result_type's to avoid
some tricky cases like CGAL::Sphere_point