Commit Graph

563 Commits

Author SHA1 Message Date
Laurent Rineau 269d1f3505
Fix trailing whitespace 2020-06-19 15:55:46 +02:00
Michael Hemmer 9ea41185f0
Update Tetrahedron_3_Bounded_3_do_intersect.h
Going back to 
  if (certainly(b)) return b;
  if (is_indeterminate(b)) result = b;

as there seems to be a compiler issues
2020-06-19 12:56:04 +02:00
Michael Hemmer 241737bf0d
Update Tetrahedron_3_Bounded_3_do_intersect.h
Using certainly(result) to have early exit.
2020-06-19 11:42:40 +02:00
Michael Hemmer 17afba2e1f
Update Tetrahedron_3_Bounded_3_do_intersect.h
changed the || to operator |, for more details see  https://doc.cgal.org/latest/STL_Extension/classCGAL_1_1Uncertain.html#aee84a3df3e0b7494f32eb9d56c1335c3
2020-06-10 17:14:38 +02:00
Michael Hemmer bbf26e22ec
Adding specific code for Tet + Bbox_3 do_intersect as it should be ok for Bbox_3 to degenerate.
Adding specific code for Tet + Bbox_3 do_intersect as it should be ok for Bbox_3 to degenerate. 

The previous code failed in case Bbox_3 is degenerate. 

I use the result = result || predicate(); to keep the maybe inside result. 
If certain the code returns early. 
I also avoid the %4 as this is a slow operation, but not sure that this is worth compared to the rest.
2020-06-03 16:58:49 +02:00
Sébastien Loriot 8b4118912d extra run of the script to remove tabs and trailing whitespaces 2020-03-26 18:58:21 +01:00
Sébastien Loriot fedc29e23c Update branch from master after trailing whitespaces and tabs removal 2020-03-26 18:57:54 +01:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Sébastien Loriot 8b153fb495 Merge branch 'cgal/releases/CGAL-5.0-branch'
whitespace+tab removal, merged with option -Xignore-space-change
2020-03-26 14:22:32 +01:00
Sébastien Loriot 0779373835 extra run of the script to remove tabs and trailing whitespaces
right after the  merge of 4.14 release branch

+ manual fix on one line in:
    * Arrangement_on_surface_2/include/CGAL/IO/Arr_text_formatter.h
    * .travis/generate_travis.sh
2020-03-26 14:16:06 +01:00
Sébastien Loriot 0a46621dc6 Merge branch 'cgal/releases/CGAL-4.14-branch'
whitespace+tab removal, merged with option -Xignore-all-space
2020-03-26 13:28:46 +01:00
Sébastien Loriot 590612a563 run the script to remove tabs and trailing whitespaces 2020-03-26 13:25:16 +01:00
Maxime Gimeno 401e06c64c fix warning 2020-03-25 15:24:07 +01:00
Maxime Gimeno 586987e377 fix warning. 2020-03-23 11:56:14 +01:00
Maxime Gimeno d395e096f2 fix warnings 2020-03-20 10:55:29 +01:00
Maxime Gimeno fe0d4d0a6e more clean-up 2020-03-19 16:41:59 +01:00
Maxime Gimeno ce4cbe6d06 Fix licenses 2020-03-19 11:41:57 +01:00
Maxime Gimeno 8a6bdd90b3 Fix after review 2020-03-19 11:31:35 +01:00
Laurent Rineau 97a8128f06 Merge pull request #4271 from maxGimeno/Installation-GMPXX-maxGimeno
Set GMPXX ON if detected
2020-02-07 16:25:11 +01:00
Maxime Gimeno 0f3305f983 Enhancements after review 2020-01-16 17:20:13 +01:00
Maxime Gimeno c368b349d5 clean-up 2020-01-15 15:26:02 +01:00
Maxime GIMENO d2d8463225
Update Intersections_3/test/Intersections_3/call_test.cpp
Co-Authored-By: Laurent Rineau <Laurent.Rineau@cgal.org>
2020-01-15 15:10:11 +01:00
Maxime Gimeno 90d2e03fdc Merge remote-tracking branch 'cgal/master' into Intersections_23-Add_missing_intersections-GF 2020-01-15 13:32:11 +01:00
Maxime Gimeno dfc9e8f0db Rework call_test to avoid error 2020-01-15 12:46:54 +01:00
Sébastien Loriot 530fa6be62 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-12-20 09:48:05 +01:00
Laurent Rineau 6f3db341f9 Fix issue #4357
Compilation error if <CGAL/Intersections_3/Triangle_3_Triangle_3.h> is included first.
2019-12-04 09:40:59 +01:00
Laurent Rineau bbe02d9f7b Fix the license header 2019-10-29 15:22:49 +01:00
Laurent Rineau ee357fd5dd Merge remote-tracking branch 'cgal/master' into Intersections_3-Add_T_3_Cub_3-maxGimeno 2019-10-29 15:19:24 +01:00
Maxime Gimeno 3434fd8873 fix assetions 2019-10-25 15:55:22 +02:00
Maxime Gimeno 3000cbbf8b Fix warning 2019-10-23 11:20:48 +02:00
Maxime Gimeno 2bfa95a2ed more indentation fixes 2019-10-23 09:56:56 +02:00
Maxime Gimeno 9a8f26ced7 More changes after review 2019-10-22 16:28:57 +02:00
Mael Rouxel-Labbé a5f09f89a6 Partial code cleaning (and fix some typedefs) 2019-10-22 12:36:58 +02:00
Mael Rouxel-Labbé b4fb7cb779 Minor improvements to Cuboid/Tr computations
- Slight robustness improvements by storing in memory that the intersection
  points are by construction on the plane.
- const& and such

Pair programming w/ mgimeno!
2019-10-22 11:23:35 +02:00
Mael Rouxel-Labbé 47717b0c9c Add more tests to Cuboid-Tr intersections 2019-10-22 11:21:02 +02:00
Mael Rouxel-Labbé ee054a862c Minor improvements to Cuboid/Tr computations
- Slight robustness improvements by storing in memory that the intersection
  points are by construction on the plane.
- const& and such

Pair programming w/ mgimeno!
2019-10-22 11:19:45 +02:00
Maxime Gimeno ea3dc6c936 Add Cub_3-T_3 intersection 2019-10-21 16:18:46 +02:00
Maxime Gimeno 16ee956bae restore tests 2019-10-21 15:51:51 +02:00
Maxime Gimeno e9a0b2d695 Fixes after review 2019-10-21 15:51:36 +02:00
Sébastien Loriot 52164b1fba First pass on removing license notice in header for LGPL files 2019-10-19 15:40:30 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Maxime Gimeno 3c875e8a18 WIP review 2019-10-04 15:30:52 +02:00
Maxime Gimeno 290b6db143 Merge remote-tracking branch 'cgal/master' into Intersections_23-Add_missing_intersections-GF 2019-07-30 09:51:28 +02:00
Laurent Rineau 32f80cbece Merge pull request #4018 from lrineau/CGAL-refresh_cmake_minimum_required-GF
CMake>=3.13: opt for for new policies up to 3.15
2019-07-01 11:16:30 +02:00
Maxime Gimeno b9d33c7ffa Fix Conflicts 2019-06-25 13:25:57 +02:00
Maxime Gimeno 89b35a5b17 Add missing case for Pl / Cub 2019-06-25 13:15:51 +02:00
Laurent Rineau 55c9a175b5 Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-06-21 10:34:18 +02:00
bryantcurto 056e846e0d Fixed do_intersect() ambiguity.
Occurs when compiling with clang
2019-06-21 10:33:46 +02:00
Laurent Rineau 53ba851c89 Merge pull request #3990 from bryantcurto/patch-1
do_intersect() Ambiguity
2019-06-20 14:21:05 +02:00
Laurent Rineau 4fbf00fb8a CMake>=3.13: opt for for new policies up to 3.15 2019-06-19 14:34:59 +02:00
Maxime Gimeno d9b09ef001 Clean-up loop 2019-06-17 15:54:25 +02:00
Maxime Gimeno e58b4475e7 clean-up 2019-06-17 15:24:43 +02:00
Maxime Gimeno 3e5d3acb2f Replace the virtual helper class with a CRTP pattern to avoid the virtual methods. 2019-06-17 15:17:58 +02:00
Maxime Gimeno 6f2930acac Add missing license headers 2019-06-14 13:19:06 +02:00
Maxime Gimeno f969555a3c Update doc and add test for homogeneous exact 2019-06-13 11:04:50 +02:00
Maxime Gimeno a9facfc574 Add misisng intersections for bbox_3 2019-06-13 10:31:20 +02:00
Maxime Gimeno c391e0e876 add Cub_tr as a Lazy implementation. Remains only Bbo intersections for the 3D 2019-06-13 10:27:16 +02:00
Maxime Gimeno 5e9891ea75 Tet / tr 2019-06-13 10:27:17 +02:00
Maxime Gimeno 38bf604b4a Add intersections for Tet/plane 2019-06-13 10:27:16 +02:00
Maxime Gimeno abeb0cf52d Add intersection Ray_3 / Tetrahedron_3 2019-06-13 10:27:00 +02:00
Maxime Gimeno 107e4e2abd Add intersection Ray_3 / Tetrahedron_3 2019-06-13 10:26:28 +02:00
Maxime Gimeno 9cb1173a41 Add intersection Tetrahedron_3 / Segment_3 2019-06-13 10:26:28 +02:00
Maxime Gimeno 469ed5396b Add Tet / line intersections 2019-06-13 10:26:28 +02:00
Maxime Gimeno 119ca0dff8 Add Intersection between Bbox_3 and Bbox_3 2019-06-13 10:26:28 +02:00
bryantcurto 39bceb093c
Fixed do_intersect() ambiguity.
Occurs when compiling with clang
2019-06-07 11:57:19 -04:00
Andreas Fabri 4581f1b7a8 Morte replacements 2019-06-05 08:39:55 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Laurent Rineau 4d3671024d Merge pull request #3855 from sgiraudot/Intersections_3-Fix_almost_collinear_segments_bug-GF
Intersections_3: Fix almost collinear segment bug

# Conflicts:
#	Intersections_3/include/CGAL/Intersections_3/internal/intersection_3_1_impl.h
2019-05-06 15:45:41 +02:00
Laurent Rineau 3586946e96 Merge pull request #3855 from sgiraudot/Intersections_3-Fix_almost_collinear_segments_bug-GF
Intersections_3: Fix almost collinear segment bug
2019-05-06 15:26:49 +02:00
Simon Giraudot 258179a707 Prevent construction of line with NaN coordinates 2019-04-30 11:23:47 +02:00
Sébastien Loriot 1d908c1c0b remove code for CGAL_INTERSECTION_VERSION 1 2019-03-29 13:28:32 +01:00
Andreas Fabri 25819705f5 Polyhedron, Intersections, PSP 2019-02-14 11:06:13 +01:00
Laurent Rineau 9c426075b6 Optimized version of do_intersect with Tetrahedron_3 and something
The optimization is to delay the switch to the exact number type as
much as possible.

I was not able to find a good benchmark showing the improvement,
though. Maybe because the `do_intersect(Bbox_3, Triangle_3)` is not
optimized the same way.
2019-02-11 13:31:40 +01:00
Laurent Rineau 6ffd76a87e Merge pull request #2792 from afabri/Intersections_3-Add_missing_do_intersect-GF
Intersections_3:  Add missing do_intersect() overloads
2019-01-18 16:37:54 +01:00
Andreas Fabri df08a8b8fa Do not include extra files in the testsuite 2018-12-03 15:26:39 +01:00
Andreas Fabri e58de4baa1 cleanup 2018-12-03 12:52:06 +01:00
Andreas Fabri aac8ac4e6b Some changes after Sebastien's review 2018-11-29 15:58:34 +01:00
Andreas Fabri a76623e7e8 Fix test 2018-11-04 11:24:15 +01:00
Sébastien Loriot 057f4eafe7 fix warning + cosmetic changes 2018-11-02 14:17:16 +01:00
Sébastien Loriot 0685423ae8 update from cgal/master 2018-11-02 11:32:31 +01:00
Guillaume Damiand 92ba7fa6c9 Update minimum cmake required version in all CMakeLists.txt 2018-10-18 14:49:23 +02:00
Guillaume Damiand 0bd9088b5a Remove all include( ) and include( CGAL_CreateSingleSourceCGALProgram ) in CMakeLists.txt; they are no more required. 2018-10-17 14:17:08 +02:00
Guillaume Damiand 7f09308d33 Remove all include_directories(BEFORE ../../include) in CMakeLists.txt 2018-10-17 13:07:22 +02:00
Andreas Fabri d868969a07 Add tests 2018-05-30 15:58:04 +01:00
Andreas Fabri 93d19591da To intersect a Circle_2 means to intersect the boundary 2018-05-30 15:24:50 +01:00
Andreas Fabri 71c3c13664 fix dependencies 2018-05-23 14:49:50 +01:00
Andreas Fabri a82b920b97 Include <CGAL/double.h> 2018-05-23 09:47:42 +01:00
Andreas Fabri 2f8515067c Add #include for CGAL::abs() 2018-05-22 10:51:39 +01:00
Andreas Fabri 9bfbd567d5 Remove CGAL_NO_INTERSECTION_FUNCTION and functions doing nothing 2018-05-17 14:30:30 +01:00
Andreas Fabri 162241066b Remove CGAL_NO_INTERSECTION_FUNCTION and functions doing nothing 2018-05-17 11:52:58 +01:00
Andreas Fabri e1eacead95 Add #includes of kernel object types 2018-05-09 12:20:11 +01:00
Andreas Fabri e65eba0301 Add #includes 2018-05-04 09:00:09 +02:00
Andreas Fabri 8abfad66ab inline 2018-05-04 09:00:08 +02:00
Andreas Fabri 92dcb7ca48 Reorganize header files 2018-05-04 09:00:08 +02:00
Andreas Fabri 4111e3e20c Reorganize header files 2018-05-04 09:00:07 +02:00
Andreas Fabri 09c7fe1103 move purely internal files 2018-05-04 08:57:57 +02:00
Andreas Fabri ffb13b07d6 Remove some functions added by Maxime 2018-05-04 08:57:57 +02:00
Andreas Fabri 0d3ac75518 Introduce namespace Intersections 2018-05-04 08:57:56 +02:00
Andreas Fabri 78b90d2614 Fix bugs revealed with g++ 2018-05-04 08:57:56 +02:00
Andreas Fabri 77f5a4e556 Remove typename; Comment after #endif 2018-05-04 08:57:56 +02:00
Sébastien Loriot 72cdc05152 fix headers 2018-05-04 08:57:56 +02:00
Andreas Fabri c5367399ab Remove unneeded includes 2018-05-04 08:57:55 +02:00
Andreas Fabri 12a5cd9f82 Add the remaining missing functions 2018-05-04 08:57:55 +02:00
Andreas Fabri 5d5f4d0a3d split header files 2018-05-04 08:57:55 +02:00
Andreas Fabri 702eafafdc Add Iso_cuboid / Sphere 2018-05-04 08:57:54 +02:00
Andreas Fabri 7dd25721f7 Add do_intersect(Bbox_3, Iso_cuboid_3) 2018-05-04 08:57:53 +02:00
Andreas Fabri 42762b7efb Add do_intersect(Iso_cuboid_3, Plane_3/Triangle_3) 2018-05-04 08:57:53 +02:00
Andreas Fabri e783228551 Share code between Iso_cuboid_3/BBox_3 for do_intersect with Ray_3 Nd Segment_3 to profit from static filter 2018-05-04 08:57:52 +02:00
Maxime Gimeno 318e7a7d12 Add missing overloads for Point_3 intersections 2018-05-04 08:56:05 +02:00
Andreas Fabri 991f3847e8 Do not include graph_traits_Polyhedron.h, properties_polyhedron.h and Polyhedron_iostream.h 2018-05-03 13:23:50 +02:00
Laurent Rineau 0a74393dcf Commit all new dependencies files 2018-03-06 18:44:48 +01:00
Laurent Rineau a2bfde2c06 Merge pull request #2869 from afabri/CGAL-fallthrough-GF
Intersections_3: Deal with fallthrough warnings
2018-03-02 16:32:57 +01:00
Andreas Fabri d3027734ca fix indentation 2018-02-23 19:07:36 +00:00
Andreas Fabri ae1923aa2e Deal with Triangle_Line and Triangle_Ray 2018-02-22 17:31:23 +00:00
Laurent Rineau 78e7060525 Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +01:00
Laurent Rineau 30c44fcebe Merge pull request #2812 from afabri/CGAL-fallthrough-GF
Intersections_3: Replace last case with a default to avoid warning
2018-02-14 15:35:37 +01:00
Andreas Fabri 1170433885 Comment what default means 2018-02-09 14:23:40 +00:00
Andreas Fabri 6f79d2c6f0 fix typo 2018-02-08 15:30:25 +00:00
Andreas Fabri fbc1a9b1d3 Replace last case with default and remove fallthrough 2018-02-08 15:11:48 +00:00
Andreas Fabri e9c652d63f Add several fallthrough 2018-02-08 15:03:39 +00:00
Maxime Gimeno a6b455b618 Fixes 2018-02-02 13:52:33 +01:00
Maxime Gimeno 688b5dd06e Move dependencies creation to package_info and add dependencies to git 2018-02-02 12:08:05 +01:00
Maxime Gimeno 8bde832931 Fix METIS headers in BGL 2018-02-02 12:08:05 +01:00
Maxime Gimeno a676d5a60e Try to fix errors in classification checks 2018-02-02 12:08:05 +01:00
Maxime Gimeno acd0a72edf Modify travis script to test dependencies 2018-02-02 12:08:05 +01:00
Maxime Gimeno ae36b452bc Add dependencies of all packages 2018-02-02 12:08:05 +01:00
Andreas Fabri 2e14ff9f04 Kernel 2018-01-17 19:59:11 +00:00
Andreas Fabri 7675141f2b AABB_tree 2018-01-17 19:43:47 +00:00
Andreas Fabri 38b2e57b11 PMP 2018-01-17 17:59:35 +00:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Laurent Rineau c826500c7d Merge pull request #1551 from mglisse/Number_types-gmpxx_coercion-glisse
Misc GMPXX fixes
2016-10-20 09:47:39 +02:00
Andreas Fabri 9cd1b0fd62 We declare the third case default so that there is no fallthrough warning 2016-10-17 13:57:39 +02:00
Laurent Rineau b14da4c496 Merge pull request #1568 from lrineau/Intersection-fix_inter_plane_seg-lrineau
Fix a bug in Intersect_3()(Plane_3, Segment_3)
2016-10-17 10:01:21 +02:00
Marc Glisse 030d81e3f7 Fixes for FT=mpq_class.
In particular, the constructor from std::string is explicit.
test_nef_3_io_EPEC is still broken because of that.
2016-10-14 00:37:11 +02:00
Laurent Rineau afb8d3693d Fix a bug in Intersect_3()(Plane_3, Segment_3)
That bug has been detected by a warning:
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.10-Ic-16/Intersections_3/TestReport_lrineau_Ubuntu-latest-GCC6-CXX1z.gz
```
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h: In function 'typename CGAL::Intersection_traits<K, typename K::Plane_3, typename K::Segment_3>::result_type CGAL::internal::intersection(const typename K::Plane_3&, const typename K::Segment_3&, const K&) [with K = CGAL::Simple_cartesian<CGAL::Gmpq>]':
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1105:13: warning: this statement may fall through [-Wimplicit-fallthrough]
             }
             ^
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1107:9: note: here
         case ON_NEGATIVE_SIDE:
         ^~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1071:9: warning: this statement may fall through [-Wimplicit-fallthrough]
         switch (target_side) {
         ^~~~~~
/mnt/testsuite/include/CGAL/Intersections_3/intersection_3_1_impl.h:1090:5: note: here
     case ON_NEGATIVE_SIDE:
     ^~~~
```

Now, the incorrect fallthrough is replaced by the return of the empty
set.
2016-10-12 11:20:07 +02:00
Laurent Rineau 223c1cf5a4 Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF
Compute and fix packages dependencies
2016-10-05 13:11:04 +02:00
Laurent Rineau 51f5697d3d Add missing #include 2016-09-30 15:23:14 +02:00
Sébastien Loriot 7e2ee496de update project name of cmake scripts of tests 2016-09-08 00:26:37 +02:00
Sébastien Loriot 4c29bf1b44 CMAKE_SOURCE_DIR -> CMAKE_CURRENT_SOURCE_DIR 2016-03-24 16:33:46 +01:00
Sébastien Loriot 881e4d3199 request Core only in examples, tests and demos when really needed 2016-03-07 22:36:57 +01:00
Sébastien Loriot 2d191d6651 commit CMakeLists.txt for all examples and tests 2016-03-07 17:39:36 +01:00
Andreas Fabri a2f954ebf9 Merge branch 'Intersections_3-snippet2example-GF-old' into Intersections_3-snippet2example-GF 2015-09-18 12:56:29 +02:00
Laurent Rineau d77da3f15b Fix the random testing of BBox/Triangle_3
Too many tests! If the macro `__OPTIMIZE__` evaluates to true, the random testing
computes 1M tests. That is too much.

Here the test was killed, after 20 minutes, after 1M iterations with `Cartesian<double>` and 954K iterations with
`Homogeneous<MP_Float>`:

  https://cgal.geometryfactory.com/CGAL/Members/testsuite/CGAL-4.7-Ic-128/Intersections_3/TestReport_lrineau_x86-64_Linux-Fedora19_llvm-clang-with-g++-4.8.gz

100K tests should be enough, and will decrease the CPU consumption by a
factor of 10.

...Actually, I am not at all convinced that those random tests are
useful! And why do we use random tests for Bbox_3/Triangle_3 and for no
other pairs of CGAL objects?
2015-08-27 11:12:47 +02:00
Andreas Fabri 1f989622e7 replace \code with real examples 2015-02-09 10:54:24 +01:00
Laurent Rineau e965b6293e Fix compilation errors with C++11 and Boost-1.56
Use *explicit* conversions to `bool`, for boost::shared_ptr and
boost::optional.
2015-01-14 14:47:29 +01:00
Laurent Rineau be079cb5a3 Fix compilation with Boost-1.56 and later
In Boost-1.56 and later, with C++11, boost::optional::operator bool() is
explicit.
2015-01-13 16:21:04 +01:00
Andreas Fabri 65200381d7 Arithmetic_kernel -> Exact_integer/rational 2014-07-16 18:55:30 +02:00
Sébastien Loriot 2aadba50d7 Merge branch 'BGL-redesign_final-GF'
Introduces a redesign of the CGAL extension of the BGL API

Successfully tested in CGAL-4.5-Ic-90
Approved by the Release Manager

Conflicts:
	Surface_mesh_segmentation/test/Surface_mesh_segmentation/test_compute_sdf_values_and_segment_exact_rational.cpp
2014-07-08 19:45:16 +02:00
Sébastien Loriot 39c073948e when using HalfedgeGraph or FaceGraph API, graph_traits must be included 2014-07-04 17:24:07 +02:00
Sébastien Loriot 0b353bb85b Merge remote-tracking branch 'origin/CGAL-use_leda-GF'
Reintroduce the possibility to use CGAL without GMP
  (to use LEDA number types instead for example).
  The cmake option to set to switch off GMP when building
  the lib is CGAL_DISABLE_GMP.

Tested in CGAL-4.5-Ic-86
Approved by the release manager

ge is necessary,
2014-07-04 12:02:37 +02:00
Sébastien Loriot e412f6c2e5 fix the const correctness of FaceGraph and HalfedgeGraph primitives
The BGL is not const correct by design choice. Passing a const Graph as
  template parameter to the primitive type is error prone.
  This will make the life easier to the user.
2014-07-02 11:28:58 +02:00
Sébastien Loriot 4dcaedd2c5 accomodate the new change with the BGL API 2014-07-01 16:53:59 +02:00
Laurent Rineau 9353573dec Add the random testing 2014-06-20 17:39:52 +02:00
Laurent Rineau f85c7e34e1 Bug fix proposed by Jean-Philippe Pons 2014-06-20 16:34:34 +02:00
Laurent Rineau cabf490132 Fix includes 2014-06-20 16:34:22 +02:00
Laurent Rineau aa219ea69a Add a trivial test case for do_intersect(Bbox_3,Triangle_3) 2014-06-20 16:34:09 +02:00
Laurent Rineau ad798d8390 Rename variables 2014-06-20 16:33:01 +02:00
Sébastien Loriot 0230e979e2 Merge branch 'CGAL-use_leda-GF-OLD' into CGAL-use_leda-GF
Conflicts:
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/construction_test_suite_generator.cpp
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/test_construction.cpp
	Documentation/doc/Installation.txt
	Kernel_23/include/CGAL/Exact_predicates_exact_constructions_kernel.h
2014-06-18 22:50:06 +02:00
Andreas Fabri fa4697ba59 Add a cheap test, namely if one of the two points of segment or ray is in the bbox
make_mesh_3 without mesh optimizer, and criteria only on facets, is 2-4
faster on data sets like fandisk, rocker-arm.off, cheese.off
2013-12-20 17:07:12 +01:00
Sébastien Loriot 61dfe46ab9 fix regression in the Triangle_3-Triangle_3 intersection computation
this has been introduced when rewriting the code for the removal
of Object
2013-11-28 17:19:52 +01:00
Sébastien Loriot e1b3a2d582 fix incorrect else 2013-09-25 18:09:42 +02:00
Andreas Fabri 6c547e5663 Mainly added includes 2013-09-13 22:24:30 +02:00
Sébastien Loriot a19023e2ef Merge branch 'General-fix_warning-sloriot'
Successfully tested in 4.3-Ic-73
2013-06-27 08:38:30 +02:00
Sébastien Loriot 7dcfef5a53 Merge branch 'Polyhedron-demo_header_cleanup_and_new_plugins-sloriot'
Successfully tested in CGAL-4.3-Ic-68
approved by the Release Manager
2013-06-24 12:30:25 +02:00
Sébastien Loriot bff4e98d01 fix warnings mainly coming from the merge of the replace object feature branch 2013-06-24 08:44:47 +02:00
Sébastien Loriot 496d75c256 update licenses that were incorrect after merging replace object feature branch 2013-06-21 15:06:17 +02:00
Sébastien Loriot 3d23a59a73 Merge branch 'inside_polyhedron_test-GF'
Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
2013-06-20 16:34:02 +02:00
Sébastien Loriot 4124fe8d97 use lower case for a variable 2013-06-13 15:28:30 +02:00
Sébastien Loriot dec7522a6e add a protector to ensure the rounding mode is restored 2013-06-12 14:49:37 +02:00
iyaz 43c8084ceb Merge branch 'inside_polyhedron_test-GF-old' into inside_polyhedron_test-GF
Conflicts:
	.gitattributes
2013-06-11 17:56:31 +03:00
Sébastien Loriot c67ba90514 Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	Circular_kernel_2/include/CGAL/Circular_kernel_2/Circular_arc_2.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_circle_2.h
	Installation/changes.html
	Kernel_d/doc/Kernel_d/CGAL/intersections_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Center_of_sphere_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Compare_lexicographically_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Component_accessor_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Compute_coordinate_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Contained_in_affine_hull_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Contained_in_linear_hull_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Contained_in_simplex_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Equal_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Has_on_positive_side_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Intersect_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Less_coordinate_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Less_lexicographically_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Less_or_equal_lexicographically_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Lift_to_paraboloid_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Linear_base_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Linear_rank_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Linearly_independent_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Midpoint_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Orientation_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Oriented_side_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Orthogonal_vector_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Point_dimension_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Point_of_sphere_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Point_to_vector_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Project_along_d_axis_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_bounded_sphere_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Side_of_oriented_sphere_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Squared_distance_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Value_at_d.h
	Kernel_d/doc/Kernel_d/Concepts/Kernel--Vector_to_point_d.h
2013-05-23 13:13:08 +02:00
Sébastien Loriot 88cc2621a1 Result is no longer used 2013-05-23 09:12:52 +02:00
Laurent Rineau 95eaabe453 Missing #include <cassert> for assert() 2013-05-22 13:32:42 +02:00
Sébastien Loriot a11a5c8479 add missing CGAL namespace 2013-05-21 18:38:07 +02:00
Andreas Fabri f7d7395864 Merge branch 'OLD' into CGAL-use_leda-GF
Conflicts:
	Boolean_set_operations_2/test/Boolean_set_operations_2/test_polygon_validation.cpp
	Envelope_2/test/Envelope_2/test_envelope_segments.cpp
	Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
2013-03-27 20:22:54 +01:00
Andreas Fabri d2574f044d also test leda if it is available 2013-03-22 16:44:02 +01:00
Andreas Fabri 5cc398f7fe also test leda if it is available 2013-03-22 16:41:54 +01:00
Sébastien Loriot 9fcf46e11a replace CGAL_[kernel/qpe/triangulation/]_assertion by assert in tests
this should be the case, following our guidelines.

using:
find */test/* -name '*.[hc]*' | xargs sed -i 's/CGAL_assertion/assert/g'
2013-03-21 10:50:55 +01:00
Andreas Fabri 8e8e853f2f Add #ifdef CGAL_USE_GMP 2013-03-20 10:01:41 +01:00
Sébastien Loriot 14429d2b8e fix compilation errors 2013-03-14 18:32:14 +01:00
Sébastien Loriot f97d6b8bd9 s/boost::result_of/cpp11::result_of/g 2013-03-14 10:38:13 +01:00
Sébastien Loriot d6905c61be Merge branch 'Kernel-replace_object-pmoeller-old' into Kernel-replace_object-pmoeller
Conflicts:
	AABB_tree/include/CGAL/AABB_tree.h
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Intersections_3/include/CGAL/Intersections_3/intersection_3_1_impl.h
	Kernel_23/doc/Kernel_23/CGAL/intersections.h
	Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
	STL_Extension/doc/STL_Extension/CGAL/iterator.h
2013-03-14 10:29:31 +01:00
Laurent Rineau 2d8da664a3 Merge branch 'CGAL-fix_warnings-gdamiand'
Conflicts:
	.gitignore
	Skin_surface_3/examples/Skin_surface_3/CMakeLists.txt
2013-02-22 13:02:37 +01:00
Laurent Rineau 26a7e70785 New license.txt files (eol changes)
The new version 2.13.0 of licensecheck has changed the spaces at eol.
2013-02-19 16:46:39 +01:00
Sébastien Loriot 0a0d1c1c5d fix conversion warning 2013-02-15 07:20:28 +01:00
Sébastien Loriot 32cd27f1d1 using coercions traits to determine a common type
in case FT is float, we need double as coercion_type
2013-02-14 10:20:35 +01:00
Sébastien Loriot 1ca5410df0 a plane is not a point! 2013-02-09 16:22:51 +01:00
Sébastien Loriot 0b21facc96 we must use the construction object 2013-02-08 09:26:16 +01:00
Andreas Fabri 0acdb162fa one less warning in Envelope_3, Intersection_3, Interpolation 2013-01-30 18:39:40 +01:00
Philipp Möller 03151d7bb7 intersection_return now also uses result_of 2012-12-10 17:20:36 +01:00
Philipp Möller 81b8604c76 Move Circular intersection results from the traits to result_of 2012-12-10 15:56:09 +01:00
Philipp Möller 4c02c6d1d6 Remove unused variable 2012-12-07 18:00:46 +01:00
Philipp Möller 4764e5d361 call_test should also use result_of 2012-12-06 17:27:23 +01:00
Philipp Möller a214d62bd6 Integrate boost::variant with Lazy kernels interaction
This requires changing the way Lazy_construction_XXX wrappers are
selected and some code to unpack variants.
2012-12-06 17:27:23 +01:00
Philipp Möller d198458ca7 Merge branch 'origin-gsoc2011-boost_object-pmoeller' into Kernel-replace_object-pmoeller
Conflicts:
	.gitattributes
	AABB_tree/doc_tex/AABB_tree_ref/AABBGeomTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABBTraits.tex
	AABB_tree/doc_tex/AABB_tree_ref/AABB_traits.tex
	AABB_tree/include/CGAL/AABB_traits.h
	AABB_tree/include/CGAL/AABB_tree.h
	AABB_tree/test/AABB_tree/AABB_test_util.h
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_trapezoid_ric_point_location.tex
	Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/intro.tex
	Arrangement_on_surface_2/include/CGAL/Arr_batched_point_location.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_generator_base.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_lm_random_generator.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_trapezoid_ric_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_point_location/Arr_walk_along_line_pl_impl.h
	Arrangement_on_surface_2/include/CGAL/Arr_trapezoid_ric_point_location.h
	Arrangement_on_surface_2/test/Arrangement_on_surface_2/point_location.cpp
	Circular_kernel_2/include/CGAL/Circular_kernel_2/internal_functions_on_line_arc_2.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_circular_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_line_arc_3.h
	Circular_kernel_3/include/CGAL/Circular_kernel_3/internal_functions_on_sphere_3.h
	Filtered_kernel/include/CGAL/Lazy.h
	Filtered_kernel/include/CGAL/Lazy_kernel.h
	Intersections_2/include/CGAL/Triangle_2_Iso_rectangle_2_intersection.h
	Intersections_2/test/Intersections_2/test_intersections_2.cpp
	Intersections_3/test/Intersections_3/test_intersections_3.cpp
	Kernel_23/doc_tex/Kernel_23_ref/intersection.tex
	Kernel_23/include/CGAL/Kernel/Type_mapper.h
	Kernel_d/doc_tex/Kernel_d_ref/Kernel.tex
2012-12-04 17:57:53 +01:00
Laurent Rineau eb0a39a711 Remove # error The test-suite needs no NDEBUG defined. 2012-10-10 12:22:55 +00:00
Laurent Rineau f0118a1311 Revert last commit (commited by error) 2012-10-09 09:28:37 +00:00
Laurent Rineau 648472bdac After a run of detect_packages_license 2012-10-09 09:26:23 +00:00
Philipp Möller 79b30908d5 WARNFIX: Silence a good part of unused variable/parameter warnings.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
2012-08-07 11:04:32 +00:00
Marc Glisse a758751485 Remove / comment out unused local typedefs. Fix one place where FT was used instead of RT (homogeneous coordinates, probably never compiled). 2012-07-28 06:21:06 +00:00
Sébastien Loriot f1bdb9c8a7 merge from next 2012-07-10 14:33:09 +00:00
Sébastien Loriot fb7a7e2e95 remove warning 2012-07-06 12:35:29 +00:00
Laurent Rineau eef769cf9a Fix Do_intersect_3(Bbox_3, Segment_3)
svn merge --reintegrate \^/branches/features/Intersection_3-fix_do_intersect_bbox_segment-lrineau
2012-06-25 08:37:32 +00:00
Philipp Möller 67fdbf93d1 Prevent spurious warning in the test-suite. Leave the one that is
actually suspicious.
2012-06-22 11:52:14 +00:00
Laurent Rineau 19ab08d6e9 Fix a warning from clang
The warning was:

[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: warning: variable 'b' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
    if( (px == qx) || // <=> (dmin == 0)
        ^~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:408:12: note: in instantiation of function template specialization 'CGAL::internal::do_intersect_bbox_segment_aux<float, true, true, false>' requested here
    return do_intersect_bbox_segment_aux<FT, true, true, false>(
           ^
[...]/include/CGAL/Kernel/function_objects.h:2052:14: note: in instantiation of function template specialization 'CGAL::internal::do_intersect<CGAL::Simple_cartesian<float> >' requested here
    { return internal::do_intersect(t1, t2, K()); }
             ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:428:10: note: in instantiation of function template specialization 'CGAL::CommonKernelFunctors::Do_intersect_3<CGAL::Simple_cartesian<float> >::operator()<CGAL::Segment_3<CGAL::Simple_cartesian<float>>, CGAL::Bbox_3>' requested here
  return typename K::Do_intersect_3()(segment, bbox);
         ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:67:12: note: in instantiation of function template specialization 'CGAL::do_intersect<CGAL::Simple_cartesian<float> >' requested here
  bool b = CGAL::do_intersect(t,bbox);
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:416:12: note: in instantiation of function template specialization 'test_aux<CGAL::Segment_3<CGAL::Simple_cartesian<float>> >' requested here
  bool b = test_aux(s12,"s12",bbox,false);
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:665:12: note: in instantiation of function template specialization 'test<CGAL::Simple_cartesian<float> >' requested here
  bool b = test<K>(exact_predicates) &&
           ^
[...]/cmake/platforms/x86-64_Linux-2.6_llvm-clang-with-g++-4.6.2_F16/test/Intersections_3/bbox_other_do_intersect_test.cpp:678:7: note: in instantiation of function template specialization 'test_kernel<CGAL::Simple_cartesian<float> >' requested here
  b = test_kernel<CGAL::Simple_cartesian<float> >(false);
      ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:360:25: note: uninitialized use occurs here
    if(is_indeterminate(b)) return b; // Note that the default-constructed
                        ^
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:353:9: note: remove the '||' if its condition is always false
    if( (px == qx) || // <=> (dmin == 0)
        ^~~~~~~~~~~~~
[...]/include/CGAL/internal/Intersections_3/Bbox_3_Segment_3_do_intersect.h:351:23: note: initialize the variable 'b' to silence this warning
    Is_greater_value b;
                      ^
                       = false
2012-06-20 10:32:46 +00:00
Laurent Rineau eecf1e94be Fix for MSVC: protect the CGAL::max calls to prevent macro substitution 2012-06-20 09:53:56 +00:00
Laurent Rineau 23ab39f2df Remove calls to CGAL::abs for Ray_3 and Segment_3
As t1 and t2 are, by construction, greater than 0, for rays and segments,
no need to call CGAL::abs on t[xyz]min and t[xyz]max.
2012-06-19 10:08:04 +00:00
Laurent Rineau ab28ccf740 Fix bugs in overflow/underflow handling 2012-06-18 16:05:29 +00:00
Laurent Rineau 5142588eb3 Better performance (~10-15% better)
By removing several tests (and use CGAL::max instead), the generated
assembly is more efficient.
2012-06-18 16:05:04 +00:00
Laurent Rineau 090b93f229 Fix compilation for MSVC 2012-06-18 09:41:39 +00:00
Laurent Rineau 6c240a4ae2 Cleanup: remove unused code. 2012-06-15 15:49:33 +00:00
Laurent Rineau 28c9507c17 Go back to the version of revision 69620. That was faster. 2012-06-15 15:38:45 +00:00
Laurent Rineau 02754f17f9 Revert previous commit for CGAL/internal/Intersections_3/Bbox_3_Line_3_do_intersect.h
The code cannot be easily reused because a line does not store
two points but the a, b, c, d coefficients.
2012-06-15 15:27:17 +00:00
Laurent Rineau a3587eabf3 A version with less branches and more numerical computation 2012-06-15 15:12:04 +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 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
Sébastien Loriot ace74a2bab Object::empty() is !variant::operator bool () 2012-04-24 16:57:58 +00:00
Philipp Möller 17797b7271 Merge next into this branch. There have been conflicts in the
AABB_tree documentation, Intersections_3 and Arrangement_on_surface_2.

The merge also introduced a regression for a bug fixed in R68387 which
fixed a bug in Triangle_3 Segment_3 intersections. The relevant
testcase is in triangle_other_intersection_test.cpp.
2012-04-24 15:06:19 +00:00
Laurent Rineau 6c705ab777 Fix the test
One cannot expect exact intersections computations results when the kernel
is not. This patch fixes the test: the equality between the result and the
expected result is tested with an epsilon unless the kernel has exact
constructions.
2012-04-23 22:17:15 +00:00
Sébastien Loriot 8db3036330 BUGFIX
correct error in intersection computation of triangle_3 segment_3
when the segment is collinear with a triangle edge.
2012-04-05 11:57:58 +00:00
Sébastien Loriot ab57806db7 missing enum_cast 2012-03-22 11:08:05 +00:00
Sébastien Loriot ba760bbdb2 need to use an enum for having the different cases:
when the end point is on the facet, any ray have the endpoint in the
plane of the facet.
2012-03-22 10:39:23 +00:00
Sébastien Loriot b058a2a4f3 modify the internal do_intersect Ray_3 vs Triangle_3 function
to be able to known whether the endpoint of the ray lies inside the
plane of the triangle. The running time is the public do_intersect function
should remain the same.
2012-03-21 18:20:04 +00:00
Laurent Rineau 672d2dd292 Commit work in progress 2012-03-21 16:58:29 +00:00
Laurent Rineau 439dd0abb9 Fix typo
- Remove a line that was rewritten but not removed.
- Add a comment
2012-03-21 14:34:53 +00:00
Laurent Rineau b5d987a4b5 Increasing the perf of the filtered predicate
When FT is Interval_nt, it is better that the
Do_intersect_bbox_segment_aux_is_greater returns a Uncertain<bool> instead
of a bool. That can delay the conversion of Uncertain<bool> to bool, and
hence better perf.
2012-03-21 14:24:31 +00:00
Laurent Rineau e940d97a75 Prepare the code factorization with the static filter of Do_intersect_3 2012-03-21 13:59:45 +00:00
Laurent Rineau 0e6dbc4b40 Reorganize expressions that are evaluation of the sign of a determinant
There are six of them in do_intersect(Bbox_3, Segment_3)
2012-03-21 11:49:30 +00:00
Laurent Rineau c291e92442 Less tests of sign of expressions
Followup to previous commit.

I have managed to transform most of the tests to simple comparison of input
coordinates. That will ease the writing of static filters. Only six
determinant signs have to be exactly determined.
2012-03-21 11:40:29 +00:00
Laurent Rineau 671464db4c Less tests of sign of expressions
I have managed to transform most of the tests to simple comparison of input
coordinates. That will ease the writing of static filters.
2012-03-21 11:13:19 +00:00
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 b0cfb5bc1f Fix a stupid copy-paste error 2012-03-19 14:12:05 +00:00
Laurent Rineau 02acd80611 Better test and bench for do_intersect(BBox_3, Ray_3|Segment_3) 2012-03-19 14:11:45 +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 58809c064a Full test suite of do_intersect(Bbox_3, Segment_3).
I have tested with gcov that all branches of the predicates are tested.
2012-03-16 16:10:44 +00:00
Laurent Rineau 3d36a2e4c3 Display coordinates with full precision 2012-03-15 15:47:36 +00:00
Laurent Rineau bd09875fea Add a few test cases.
One of then use boost::math::nextafter to move around a critical
 case. That is strange that even non-exact FT can deal with that without
 filtering.
2012-03-15 15:45:31 +00:00
Laurent Rineau 611a2c439b Naively translate and scale the inputs, for test of do_intersect(Bbox, ..) 2012-03-15 15:09:05 +00:00
Laurent Rineau 8dbae2494a Beginning of an intensive test suite of do_intersect(Bbox_3, Segment_3) 2012-03-15 14:48:12 +00:00
Laurent Rineau 71d1ba01e1 This version should be correct. 2012-03-15 13:27:06 +00:00
Laurent Rineau c0a37addfb Also test with Sc<Gmpq>.
Simple_cartesian<Gmpq> is a non-filtering kernel whose FT is not a IEEE 754
type. That number type is interesting to test with.
2012-03-15 11:11:47 +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 300057e17a Test also with Filtered_kernel without static filters
And count the percentage of intersection among random objects
2012-03-14 16:24:41 +00:00
Laurent Rineau 68b48a7151 Commit current version
To be reviewed fully.
2012-03-14 15:54:19 +00:00
Andreas Fabri 6c9625e514 Fix for <windows.h> bug 2012-01-21 08:33:51 +00:00
Andreas Fabri f834260e4c Fix for Windows 'min/max' bug 2012-01-19 08:03:51 +00:00