Commit Graph

9 Commits

Author SHA1 Message Date
Sébastien Loriot 0331ea939b BUGFIX: Bbox_3-line_3 do_intersect missing two cases when the y-slope or z-slope
of the line is 0. Add a testsuite for Bbox_3-Line_3 do_intersect.
2011-07-12 07:05:40 +00:00
Andreas Fabri ab7736631e QPL -> LGPL 2011-03-10 21:15:14 +00:00
Sébastien Loriot 799a3448ab merge modifications made in the branch branches/experimental-packages/AABB_tree-faster-BBox_3_Triangle_do_intersect
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.
2010-10-15 08:57:22 +00:00
Sébastien Loriot d01decf3ad correct include path 2010-09-01 20:40:33 +00:00
Sébastien Loriot 1daecf3943 move BBox vs {sphere,plane,triangle} do_intersect from AABB_tree to Intersections_3,
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)
2010-09-01 08:49:24 +00:00
Sébastien Loriot 15079cf214 correct bug in triangle_3-segment_3 intersection:
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.
2010-07-12 06:34:17 +00:00
Stéphane Tayeb d7e1d01f4f Fix warnings: remove unused variables. 2010-07-02 15:06:05 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
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.
2010-06-09 07:37:13 +00:00
Stéphane Tayeb 6494ffc972 Move do_intersect(Bbox,Bbox/Line/Ray/Seg) and intersection(Triangle,Line/Ray/Seg) from AABB_tree. 2009-12-18 15:12:59 +00:00