Commit Graph

205 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Andreas Fabri c4c4a24029 cleanup 2011-11-24 14:15:32 +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
Sébastien Loriot 91a5327fa8 change LGPLv2 -> LGPLv3 2011-10-10 13:48:25 +00:00
Sébastien Loriot 554f62d411 remove executable property from copyright files 2011-10-03 08:18:16 +00:00
Andreas Fabri d10a333947 Add a file with the copyright holder(s) to the package_info 2011-09-29 20:45:16 +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 f9b288db90 Merged branch ^/branches/features/gsoc2011-copy_n-pmoeller.
Small feature page: https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Replace_copy_n
2011-08-26 14:34:10 +00:00
Sébastien Loriot b32ccc4959 BUGFIX: The commit done at revision 64278 for handling
vectors of points in CGAL::Object when intersecting with Lazy_kernel
was missing the case when the construction failed with approximate
kernel. Add into make_lazy overload of object code to handle it.
Update the testsuite to test this (crash if not here).
2011-08-25 13:19:36 +00:00
Laurent Rineau 65519c0f63 Fix a warning from MSVC
The warning on x64_Cygwin-Vista_MSVS2010-64bits was:

include\CGAL/Filtered_kernel/Cartesian_coordinate_iterator_3.h(68) :
warning C4800: 'const CGAL::Vector_3<R_> *const *' : forcing value to bool
'true' or 'false' (performance warning)
2011-07-05 12:16:28 +00:00
Sébastien Loriot 6d22a78acd cosmetic 2011-06-21 13:53:15 +00:00
Sébastien Loriot cfd2c9fa94 Andreas' fix for handling vectors of points in CGAL::Object
when intersecting with Lazy_kernel. Add a testfile.
2011-06-21 13:36:00 +00:00
Sébastien Loriot 91131de01f add three argument version operator() to Lazy_construction_object.
It enables intersection(Plane_3,Plane_3,Plane_3) to work with EPEC
2011-06-20 13:55:23 +00:00
Sébastien Loriot ea598e5a45 fix bug in Construct_cartesian_const_iterator_[23]
The operator() for constructing past the end iterator was
forwarding the int value to the iterator type.
2011-05-13 12:05:51 +00:00
Laurent Rineau 3c02e07b23 Try to fix my last revision about cmake_policy, with CMake-2.6.x
CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
x.y.z is greater than the current CMake version.
2011-04-28 17:45:22 +00:00
Laurent Rineau c97205f085 Global handling of CMake policies (second part)
We declare 
  cmake_minimum_required(VERSION 2.6.2)
but we also use
  cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.

That way, we no longer need any declaration of specific policies.

Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
2011-04-28 10:55:56 +00:00
Laurent Rineau 0631943153 Uniform capitalization in our CMake script: use lowercase for commands 2011-04-28 10:36:18 +00:00
Laurent Rineau 6f05e72cef Global maintenance of CMakeLists.txt: CMake minimal version is -2.6.2
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
  - change cmake_minimum_required to VERSION 2.6.2
  - no longer any need for the policy CMP0003 (was for 2.4.x)
  - no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
2011-04-27 18:06:32 +00:00
Andreas Fabri e7748c9dce Use SSE2 based versions of abs, min, max
Their usage is controlled with CGAL_USE_SSE2_FABS CGAL_USE_SSE2_MAX
2011-04-01 14:02:58 +00:00
Laurent Rineau 13bdda717f more powerfull version, to test four things at once 2011-03-17 18:01:12 +00:00
Laurent Rineau 68a662b195 Update CMakeLists.txt so that bench_simple_comparisons does not link with CGAL 2011-03-17 11:50:41 +00:00
Laurent Rineau f1558ad575 Reduce the size of the vector, to reduce the effect of the L1 cache 2011-03-17 10:57:33 +00:00