Commit Graph

358 Commits

Author SHA1 Message Date
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