Commit Graph

224 Commits

Author SHA1 Message Date
Laurent Rineau ad2b26dbed Fix a warning about unused variables
And fix a comment (t=1 instead of t=0).
2012-06-18 13:04:53 +00:00
Laurent Rineau 41ba29e19a Factorize code of Do_intersect(Bbox_3, <something>)
Uniform use of do_intersect_bbox_segment_aux(..) with various Boolean
template arguments.
2012-06-15 15:06:34 +00:00
Laurent Rineau 1c6ba1851b Factorize code in CGAL/internal/Static_filters/Do_intersect_3.h
The static filters of Do_intersect(BBox_3, Segment_3) and
Do_intersect(BBox_3, Segment_3) now use do_intersect_bbox_segment_aux(..)
from CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h
2012-06-15 14:57:36 +00:00
Laurent Rineau a72bd80380 Pass the bbox as argument instead of the six coordinates
That increased the perfs! :-)
2012-06-14 17:04:35 +00:00
Laurent Rineau 503d441f1e merge changes from next 2012-06-13 15:51:29 +00:00
Laurent Rineau d92a1b3fff Remove examples/Filtered_kernel/lazykernel.cpp (was in dont_submit)
That example no longer compiles. It was hidden by dont_submit for a long
time, but with a full branch-build (with WITH_demos and WITH_examples
enabled), it is in the way.
2012-06-12 14:12:14 +00:00
Philipp Möller 1ea390e58b Some macros were missing CGAL_ prefix.
Followup of revision 69073:
  | ------------------------------------------------------------------------
  | r69073 | pmoeller | 2012-05-11 11:20:13 +0200 (Fri, 11 May 2012) | 3 lines
  | 
  | Merged  ^/branches/features/Result_of-pmoeller
  | 
  | 
  | ------------------------------------------------------------------------
2012-05-11 15:23:31 +00:00
Philipp Möller 542f5d9c51 Merged ^/branches/next here 2012-04-16 08:53:21 +00:00
Laurent Rineau 00621279fb Commit the new version of the static filter. Too slow for the moment. 2012-03-23 13:02:46 +00:00
Laurent Rineau a37c74d534 Add license files, per package 2012-01-16 15:54:22 +00:00
Laurent Rineau d26c3b4caa Turn LGPLv2 into LGPLv3+ for new static filters created after the branch. 2012-01-13 17:00:15 +00:00
Laurent Rineau 5b5dd33848 merge changes from next 2012-01-09 12:33:39 +00:00
Philipp Möller 58a6c86cbc * fixed include issue
* some work to make Lazy work with C++11
2011-12-15 15:45:39 +00:00
Philipp Möller f64a69a6cd merged next for testsuite run 2011-12-14 16:45:31 +00:00
Philipp Möller 37a83b5416 Removed unused argument to sanitize compilation output 2011-12-14 15:18:32 +00:00
Laurent Rineau cc6c9ebb76 Fix the profiling macro calls in the static filter of Equal_3 2011-12-13 16:30:53 +00:00
Laurent Rineau 1aa74178ea Reindentation/whitespace before that can be merged in next 2011-12-12 11:59:16 +00:00
Philipp Möller fd5edd2745 Fixed bug that caused at not to be updated after an exact calculation. 2011-12-09 16:08:35 +00:00
Andreas Fabri 2effc4c783 Add static filter for Equal_3::operator(Point_3,Point_3) 2011-12-09 11:42:35 +00:00
Andreas Fabri 8fe1642de3 Is_degenerate now uses the statically filtered version of Equal 2011-12-09 11:41:59 +00:00
Andreas Fabri 51874a6c2c Add an explanation 2011-12-08 15:10:58 +00:00
Andreas Fabri 32543b08f8 do_intersect(Segment_3, Triangle_3) only calls orientation(..)
so we can avoid putting doubles in intervals and unpacking
them inside statically filtered orientation tests
2011-12-08 14:50:59 +00:00
Laurent Rineau ffde9be118 Change the name of the backward compatibility macro
CGAL_DISABLE_RECENTLY_ADDED_STATIC_FILTERS was misleading because
of... "recently"! What would mean that macro in several months?

I have changed it to CGAL_DISABLE_STATIC_FILTERS_ADDED_2011. As a matter of
fact, only GeometryFactory has added static filters to the CGAL kernel
during year 2011, and it was only the filters added November/December:
  Is_degenerate_3   -- only for Ray_3 and Segment_3
  Do_intersect_3    -- only for BBox_3-Ray_3 and BBox_3-Segment_3
  Angle_3           -- only the operator()(Point_3, Point_3, Point_3)
2011-12-08 13:43:02 +00:00
Philipp Möller ffa1d4ffd5 merged next again 2011-12-07 15:22:54 +00:00
Laurent Rineau 19633dbf7a Reintegrate /branches/features/Static_filter_is_degenerate-GF
This adds a static filter for Is_degenerate_3.
2011-12-07 11:17:39 +00:00
Philipp Möller b8a96e9114 Merged next to this branch. 2011-12-06 17:11:01 +00:00
Laurent Rineau d9dc5f4ebb Revert that commit:
| ------------------------------------------------------------------------
  | r66638 | afabri | 2011-12-02 23:00:04 +0100 (Fri, 02 Dec 2011) | 1 line
  | 
  | Remove unnecessary abs()
  | ------------------------------------------------------------------------
It must be applied to a new branch of next.
2011-12-06 16:43:14 +00:00
Philipp Möller 47c6bca3ed fixed constness issue 2011-12-06 15:42:23 +00:00
Laurent Rineau 00c7151ce0 merge change from next 2011-12-06 14:23:47 +00:00
Laurent Rineau 8e44b6acde Change the name in the profiler of Do_intersect_3 static filter
Do_intersect_3 has a template member function. If one use
CGAL_PRETTY_FUNCTION as function name, then the compiler gives the full
name of the function, with its parameters.
2011-12-06 11:51:09 +00:00
Andreas Fabri 67e591188f Remove unnecessary abs() 2011-12-02 22:00:04 +00:00
Laurent Rineau 41915d0d4c Remove the executable bit 2011-11-30 14:50:08 +00:00
Andreas Fabri 63c1b84c0d Add static filter for Is_degenerate 2011-11-30 13:48:15 +00:00
Laurent Rineau f551b78e47 Add a comment 2011-11-28 14:53:15 +00:00
Laurent Rineau fef3253301 Static filter Angle_3: now handle over/underflows 2011-11-28 14:52:43 +00:00
Laurent Rineau c9b29f87c7 Static filter for Angle_3
TODO: overflow/underflow
2011-11-25 18:15:38 +00:00
Philipp Möller 5b5827839b * removed cruft from lazy
* Circular_kernel_3 fixed by removing inheritance
2011-11-25 11:20:34 +00:00
Philipp Möller 111d2b3194 Lazy kernel now works better with functors that supply a result_type 2011-11-24 16:25:14 +00:00
Andreas Fabri c4c4a24029 cleanup 2011-11-24 14:15:32 +00:00
Philipp Möller 0e0a200646 * Using result_of instead of Qualified_result_of
* limited refactoring in the lazy kernel
* still bugs in circular_3
* still specialization problem with iso_rectangle
2011-11-23 17:52:38 +00:00
Laurent Rineau 997b298413 Add overloads for operator()(Bbox_3, query) 2011-11-21 16:12:50 +00:00
Andreas Fabri d83bd11544 Add generic operator 2011-11-21 15:22:10 +00:00
Laurent Rineau e8466cfcc4 Fix a stupid bug: the condition "tmax > dmax" must not be tested for rays 2011-11-21 15:01:06 +00:00
Laurent Rineau d8448a1367 Better comments 2011-11-21 14:00:43 +00:00
Laurent Rineau 8feb65360c Clean and fix Do_intersect_3()(Ray_3, Bbox_3) 2011-11-21 13:25:59 +00:00
Andreas Fabri 4dc8b774ff Getting started with the Bbox_3_Ray_3 do_intersect 2011-11-19 09:51:43 +00:00
Laurent Rineau ac72450bcb Handling of over|underflow in the static filter of Do_intersect_3 2011-11-18 16:45:41 +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
Laurent Rineau 14e12485c0 Integration of a static filter for Do_intersect_3
So far, only operator()(BBox_3, Segment_3) has a static filter.

The result is gain by factor of 2 on a bench that does random segment
queries in an aabb tree of a real object (test/AABB_tree/data/finger.off).

The results on ten runs follow.

Without the static filter of Do_intersect_3:
| Epic kernel |10.21 | 
| Epic kernel |10.15 | 
| Epic kernel |10.46 | 
| Epic kernel |10.17 | 
| Epic kernel |10.12 | 
| Epic kernel |10.13 | 
| Epic kernel |10.16 | 
| Epic kernel |10.34 | 
| Epic kernel |10.2 | 
| Epic kernel |10.38 | 

With the static filter of Do_intersect_3()(BBox_3, Segment_3):
| Epic kernel |5.42 | 
| Epic kernel |5.4 | 
| Epic kernel |5.36 | 
| Epic kernel |5.41 | 
| Epic kernel |5.38 | 
| Epic kernel |5.41 | 
| Epic kernel |5.79 | 
| Epic kernel |5.53 | 
| Epic kernel |5.66 | 
| Epic kernel |5.45 |
2011-11-17 16:51:37 +00:00
Andreas Fabri 810ab2568f Add static filter for do_intersect(Bbox_3, Segment_3) Do_intersect_3.h 2011-11-17 15:48:44 +00:00