Commit Graph
333 Commits
Author SHA1 Message Date
Laurent Rineau e54df14afb Code optimized for all x-, y-, and z-axis 2012-03-20 17:47:55 +00:00
Laurent Rineau 0358937f01 Code optimized for x-axis 2012-03-20 16:56:13 +00:00
Laurent Rineau 1aa69b5a8b Factorize the _aux function for do_intersect(BBox_3, Ray_3|Segment_3) 2012-03-19 12:07:20 +00:00
Laurent Rineau b5703e9cf8 Add a note about a test that is already covered by previous test. 2012-03-16 16:14:47 +00:00
Laurent Rineau 71d1ba01e1 This version should be correct. 2012-03-15 13:27:06 +00:00
Laurent Rineau c8bc77e46d Submit work in progress. The old code was really wrong! 2012-03-14 16:41:03 +00:00
Laurent Rineau 68b48a7151 Commit current version
To be reviewed fully.
2012-03-14 15:54:19 +00:00
Andreas Fabri be573d2316 Fix for Windows 'min/max' bug 2012-01-18 09:52:23 +00:00
Laurent Rineau 5b5dd33848 merge changes from next 2012-01-09 12:33:39 +00:00
Laurent Rineau 5685e10669 reintegrate \^/branches/features/Static_filter_do_intersect-GF 2011-11-25 17:45:11 +00:00
Laurent Rineau fb796dbc97 Missing match for Intersect_3::operator()(Ray_3, Triangle_3)
There was only Intersect_3::operator()(Triangle_3, Ray_3).

The specializations for CGAL::intersection were for both order however.
2011-11-25 17:40:02 +00:00
Laurent Rineau ede47077ce cleanup 2011-11-24 14:43:25 +00:00
Andreas Fabri c4c4a24029 cleanup 2011-11-24 14:15:32 +00:00
Laurent Rineau e0c80037ae merge changes from next 2011-11-23 15:53:51 +00:00
Laurent Rineau fc5a23bc06 Comments to help debugging 2011-11-21 14:53:16 +00:00
Philipp Möller 3fe7c7b9dd Removed cruft from Intersection_traits and Kernel_d now uses the macros do declare global functions 2011-11-21 13:52:39 +00:00
Sébastien Loriot 59f5cc0ba0 optimise Bbox_3-line_3 do_intersect (prevent filter failures) 2011-11-21 13:43:45 +00:00
Laurent Rineau 1ea6830233 New version of Do_intersect_3 static filter
This time we hope it is correct.
2011-11-18 15:34:26 +00:00
Philipp Möller ee09ef2297 Overloading intersection and do_intersect now work by introducing a better match for every possible function 2011-11-18 14:14:41 +00:00
Philipp Möller 450f438518 IT shortcut not circumvents specifying a kernel making it an actual shortcut and nicer for exposure in APIs 2011-11-10 11:06:26 +00:00
Philipp Möller c2bfb68112 * Now dispatching on Ambient_dimension
* incorporated result_type == Object to remove more ifdefs
2011-11-09 11:35:04 +00:00
Philipp Möller 33430eef68 Intersections_3 now fully uses CGAL_INTERSECTION_VERSION 2011-11-08 17:37:24 +00:00
Philipp Möller 0929a0f92a Move the define to Intersection_traits. Those will be included every time. 2011-11-08 14:38:32 +00:00
Philipp Möller a6f4cb16ae Macro for versioning the intersections and support for both versions in the top level function. 2011-11-08 11:56:57 +00:00
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Sébastien Loriot dff6dda8b3 Remove from copyright holder
Freie Universitaet Berlin (Germany), Martin-Luther-University Halle-Wittenberg
(Germany) and RISC Linz (Austria) as they transfer the copyright to other
sites.
2011-09-21 19:46:31 +00:00
Philipp Möller b07e2df018 * Circular_kernel is now Object free, doesn't compile with Lazy yet,
* hack for ternary function
2011-08-25 21:40:12 +00:00
Philipp Möller 5b925d6f6e * Reworked Intersection_traits into a single traits, adjusted
intersections accordingly, turned on IT<....> as return type
* removed result_type from the intersection functors
2011-08-25 10:18:31 +00:00
Philipp Möller fad504838f * Circular_kernel: - Intersections now use variants
- removed most internal uses of Object
* Intersections: more traits, typofix, doc typofix, aliases IT23d
2011-07-20 22:54:03 +00:00
Philipp Möller b457bcc7c8 merged next, fiddled with deprecation warning to resolve tree conflict 2011-07-18 18:14:21 +00:00
Philipp Möller 12f79a7d1e Object includes and last intersection stragglers 2011-07-18 17:31:20 +00:00
Philipp Möller 525fe15e9a Internals switched to variant. 2011-07-15 14:13:55 +00:00
Sébastien Loriot bbc56adedc raffine bugfix of 64734
(remove unneed code added)
2011-07-13 14:35:58 +00:00
Philipp Möller 6987321d4e More overloads removed and another test. 2011-07-12 17:35:19 +00:00
Philipp Möller 2f9b36d618 * intersection and do_intersection now pick their appropriate
overloads automatically;

* a test for the availability of all calls has been added
2011-07-12 16:53:49 +00:00
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
Laurent Rineau 369498d1e5 Cancel revision 64607. There had been a problem with the branch.
| ------------------------------------------------------------------------
  | r64607 | efif | 2011-07-05 17:27:04 +0200 (Tue, 05 Jul 2011) | 1 line
  | 
  | Merged feature-branch Aos_2-new_functors-tau into next
  | ------------------------------------------------------------------------
2011-07-06 11:11:58 +00:00
Laurent Rineau a618b1db81 Cherry-pick this patch:
| ------------------------------------------------------------------------
  | r61610 | sloriot | 2011-03-09 17:32:05 +0100 (Wed, 09 Mar 2011) | 2 lines
  | Changed paths:
  |    M /branches/experimental-packages/Mesh_3-protecting_balls-branch/Intersections_3/include/CGAL/Triangle_3_Segment_3_do_intersect.h
  | 
  | split an internal function to reuse it
  | 
  | ------------------------------------------------------------------------
2011-06-17 13:12:31 +00:00
Sébastien Loriot a03f2c88c0 bug fix in tersection of 3D colinear segments.
Update test-suite to test all possible configurations.
2011-05-20 08:52:12 +00:00
Sébastien Loriot 1674fa6240 use coplanar intersection (avoid retesting it) 2011-05-16 17:12:06 +00:00
Sébastien Loriot a372589e67 intersection can be empty 2011-04-11 08:06:51 +00:00
Andreas Fabri ab7736631e QPL -> LGPL 2011-03-10 21:15:14 +00:00
Andreas Fabri dcf575beb3 Remove unused variable 2010-11-12 08:33:25 +00:00
Sébastien Loriot b2f7df6513 add do_intersect for Ray_3 vs {Line_3,Segment_3,Ray_3}
add intersection for Ray_3 vs {Line_3,Segment_3,Ray_3}
append test to the testsuite

correct a variable name in line vs segment intersection
2010-10-28 15:13:53 +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
Marc Glisse 51e7039a93 Remove extra ';' 2010-09-05 09:12:08 +00:00
Sébastien Loriot d01decf3ad correct include path 2010-09-01 20:40:33 +00:00
Sébastien Loriot 458b5136cc add missing symetric function 2010-09-01 10:11:57 +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 663099d82d add intersection Triangle_3,Triangle_3
add intersection Plane_3,Triangle_3
update documentation (also for Segment_3,Line_3 and Segment_3,Segment_3)
2010-08-31 13:42:40 +00:00