created at r56349 and last modifications at r56671
modification in r56464 requires that the function point() of triangle returns a const ref
to the triangle point. This has already been done in the trunk at r56954.
Details:
*For Bbox_3 plane_3 intersection:
For floating point arithmetic everything is ok,
but in the presence of floating point filters
things start getting slightly more complicated.
The supporting plane/bbox test uses
the orientation of the normal of the plane
for finding two corners of the cube for a
sidedness test.
For planes parallel to the xy, xz, yz plane
this immediatly leads to problems.
We introduce CGAL::Uncertain, etc in order
to avoid switching to an exact arithmetic
as long as possible.
*For Bbox_3 triangle_3:
Idem. Fine with floating point or exact type
but get into troubles with interval arithmetic when one
triangle boundary is collinear with an axis.
Remember that the implementation is based on the
separating axis theorem. Amongst axis tested, the
one discribed by the cross product of the triangle boundary
and the bbox boundary is tested. In the case they are collinear
this directly fail.
To handle this we added a small part testing whether the triangle
has one boundary collinear to an axis to avoid this situation.
Also, The "underlying" code has been factorized using the swap function.
and update accordingly include directives. Update testsuite
remove unneed CMakeLists.txt from AABBtree testsuite
Remove Triangle_3_Plane_3 intersection from AABB_tree (I define it in Intersections_3 some days ago, thus a conflict)
in the case when the segment is coplanar with the triangle plane
and the segment is on the supporting line of one triangle segments.
The case when the intersection is reduced to a point was not handled.
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.
- Use K::Bool_type, K::Orientation... instead of bool, CGAL::Orientation...
- More functions around Uncertain<> : make_certain(), extract_singleton(),
possible conversions tightenning.
Many conversions still remain, e.g. for switch and if statements, &&, ||...