Commit Graph

507 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 0002c4ae61 Enhance tests 2021-08-03 14:34:37 +02:00
Mael Rouxel-Labbé 5662b4cd41 Fix assuming some member functions actually return const& 2021-08-03 14:34:05 +02:00
Mael Rouxel-Labbé bdba6eedfe Fix accidentally calling API-only tests 2021-07-29 14:24:54 +02:00
Mael Rouxel-Labbé 9c6456f949 Fix some precision issues for Bbox_3 / kernel object do_intersect tests
The previous code relied on the kernel's FT having at least as much precision
as double, which isn't always the case.

Plenty of code still do this in Intersections_23...
2021-07-29 14:23:40 +02:00
Mael Rouxel-Labbé 98b7235aea Add missing helper file 2021-07-29 13:43:40 +02:00
Mael Rouxel-Labbé 989f8b79de More tests for the intersection Tet_3/Tr_3 2021-07-05 22:02:54 +02:00
Mael Rouxel-Labbé e118e28e72 Rewrite CGAL::intersection(Tetrahedron_3, Triangle_3) 2021-07-05 22:02:11 +02:00
Mael Rouxel-Labbé 2b41096f69 Fix Sphere_3 Triangle_3/Tetrahedron_3 do_intersect 2021-06-30 11:26:13 +02:00
Mael Rouxel-Labbé 3afa3b546b Re-enable tests + enhancements 2021-06-29 09:25:40 +02:00
Mael Rouxel-Labbé 6b6ab287a8 Fix Segment_3-Sphere_3 do intersect: detect fully contained segments 2021-06-28 13:26:28 +02:00
Mael Rouxel-Labbé 65b7d11acd Test improvements 2021-06-25 21:28:54 +02:00
Mael Rouxel-Labbé e70a62ac62 Fix Iso_cuboid_3 / Line_3 Do_intersect() 2021-06-25 20:16:29 +02:00
Mael Rouxel-Labbé d1b456cd70 Add a lot more testing to Intersections_3 2021-06-23 17:39:52 +02:00
Mael Rouxel-Labbé c2d1adfb69 Fix missing, extra do_intersect()/intersection() overloads
and reorganize everything...
2021-06-23 17:34:48 +02:00
Sébastien Loriot 9bfe21144e fix incorrect return type 2021-06-17 12:56:32 +02:00
Sébastien Loriot cdaabd3d72 static filter for do_intersect bbox/triangle 2021-06-16 13:56:08 +02:00
Sébastien Loriot 5f2c6fdbdf refactor the code prior to plug static filters 2021-06-16 11:27:21 +02:00
Sébastien Loriot 93476f0b43 use sign 2021-06-15 15:24:00 +02:00
Sébastien Loriot 65d630536b factorize 2021-06-15 15:24:00 +02:00
Sébastien Loriot 46b112dd54 split the function to avoid the switch 2021-06-15 15:24:00 +02:00
Laurent Rineau 38812be5eb Merge pull request #5680 from afabri/Intersections-fix_RT-GF
Intersections_3: Fix do_intersect(sphere/triangle) if FT has no division
2021-05-27 19:12:35 +02:00
Andreas Fabri 4f7703fd94 trailing whitespace 2021-05-06 08:07:39 +02:00
Andreas Fabri f45e843cd0 trailing whitespace 2021-05-06 08:03:53 +02:00
Andreas Fabri b7b2e19555 Add the sphere ray tests 2021-05-05 17:39:59 +02:00
Andreas Fabri 10e1b51ed3 Add &s 2021-05-05 17:24:37 +02:00
Andreas Fabri 28a6a91453 Intersections_3: Make do_intersect(sphere/triangle) work if FT is division free 2021-05-05 16:54:05 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Laurent Rineau c091c7f86e Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Andreas Fabri 8ede8fc7ae Remove unused parameter 2021-04-27 14:16:55 +01:00
Andreas Fabri 9473da27f8 Address warning: unused parameter 'k' [-Wunused-parameter] 2021-04-22 09:23:48 +01:00
Mael 8226666398
Merge branch 'master' into Triangulation_on_sphere_2-GF 2021-04-17 11:22:30 +02:00
Sebastien Loriot b7323389c7
Merge pull request #5622 from maxGimeno/CMake-Update_versions_in_scripts-maxGimeno
Update maximum cmake versions
2021-04-17 10:58:14 +02:00
Maxime Gimeno c49152359c update max version of cmake and announce the new minimal in CHANGE.md 2021-04-15 15:08:54 +02:00
Andreas Fabri a192a45f5b Fix warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2021-04-07 12:09:16 +01:00
Andreas Fabri 76719b903f Introduce the macro CGAL_NO_MPZF_DIVISION_OPERATOR 2021-04-07 12:06:26 +01:00
Maxime Gimeno 17602e589e Merge remote-tracking branch 'cgal/master' into CGAL-clang_tidy__nullptr_on_Mesh_2-GF 2021-04-07 09:17:51 +02:00
Laurent Rineau 1b54449dc5 Merge pull request #4878 from danston/Kernels-decltypes-danston
Improve decltype/result_of/invoke_result
2021-04-06 15:13:21 +02:00
Laurent Rineau 58ddf16295 Merge pull request #5507 from afabri/PMP-vtune_isotropic_remeshing-GF
PMP:  Accelerate isotropic remeshing
2021-04-06 15:13:11 +02:00
Andreas Fabri abe6aa1eca remove unused typedefs 2021-04-01 19:48:44 +01:00
Andreas Fabri 6ac2ee54db Remove a test file as it adds nothing new 2021-03-30 14:39:27 +01:00
Andreas Fabri 7ebdd07a4c Add <RT> to rank as expression templates don't match 2021-03-30 14:28:55 +01:00
Andreas Fabri dbfb7157bb Rename compare() to compare_quotients() 2021-03-30 10:14:02 +01:00
Andreas Fabri c6b2038353 Rename test 2021-03-29 17:40:46 +01:00
Andreas Fabri 99a52959c3 Add the do_intersect for 3 planes using the rank() written by Sebastien 2021-03-29 17:15:53 +01:00
Andreas Fabri 23f1badd85 Use is_zero() instead of == FT(0) 2021-03-22 09:03:50 +01:00
Andreas Fabri 8eea3e70bb typename 2021-03-21 18:17:13 +01:00
Mael Rouxel-Labbé 717fedc588 Use better variable names 2021-03-19 17:28:04 +01:00
Andreas Fabri 75a2541d12 Add Plane/Ray 2021-03-18 14:37:34 +01:00
Andreas Fabri 2e0f01be94 WIP: make several do_intersect division free and several no longer compute the intersection. Plane/Plane/Plane as well as Plane/Ray are still wrong 2021-03-18 14:18:11 +01:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Laurent Rineau dcf9dfd0fe Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection using PMP::clip internal function

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/clip.h
2021-03-03 17:30:04 +01:00
Andreas Fabri 7785a9c2b1 Use certainly() 2021-03-03 15:25:30 +00:00
Andreas Fabri 2ac977b7c5 Early exit in do_intersect of Sphere/Bbox_3 2021-03-03 13:21:24 +00:00
Andreas Fabri d5a5b20ce8 Make it clear that the functor is not part of the Kernel concept 2021-02-19 20:23:20 +00:00
Maxime Gimeno d5811d0a41 clang-tidy on tests 2021-02-18 15:15:12 +01:00
Andreas Fabri 8a38a75fcb Restore issue to the initial bug report 2021-02-12 14:06:20 +00:00
Andreas Fabri 607ced4a54 remove trailing whitespace 2021-02-12 10:36:53 +00:00
Andreas Fabri e833e86598 Change the expected result (a permutation) 2021-02-12 09:43:14 +00:00
Andreas Fabri 4bc161a332 Return a triangle not a vector 2021-02-12 09:42:52 +00:00
Andreas Fabri 75cb1593d0 WIP: try to do plane/tet intersection. I think the edge indexing is wrong 2021-02-10 15:41:45 +00:00
Sébastien Loriot 482db1f0cc forget to update bbox case 2021-02-10 11:11:01 +01:00
Sébastien Loriot 231e9f1b93 handle cases when plane contains an edge 2021-02-10 10:29:02 +01:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +01:00
Sébastien Loriot 38142dc101 update include directives 2021-02-09 18:51:38 +01:00
Sébastien Loriot 81ba9da292 remove tabs 2021-02-09 18:42:39 +01:00
Sébastien Loriot 81a6fe16e8 remove idmap 2021-02-09 18:27:58 +01:00
Sébastien Loriot 95bd626bbd use one vector 2021-02-09 18:01:55 +01:00
Sébastien Loriot b363977c87 clean up 2021-02-09 17:58:25 +01:00
Sébastien Loriot fb731259d7 fix comparison 2021-02-09 17:51:01 +01:00
Andreas Fabri 6d438a0f94 WIP 2021-02-09 15:48:03 +00:00
Andreas Fabri d71057ce96 Test if there is something on the optional 2021-02-05 12:25:27 +00:00
Sébastien Loriot 1fcabd581b fix warnings (and indentation) 2020-11-27 14:04:13 +01:00
Andreas Fabri f246c4abf8 merge 2020-11-13 16:26:57 +00:00
Andreas Fabri aa4c8f2f5a changes after Sebastien's comments 2020-11-09 21:23:41 +00:00
Maxime Gimeno bebd60c12b Merge remote-tracking branch 'cgal/master' into Cmake_improvements-maxGimeno 2020-10-20 09:53:54 +02:00
Sébastien Loriot 87b8f66e14 update from master 2020-10-20 09:19:13 +02:00
Andreas Fabri fd351091d8 Less operations thanks to Mael 2020-10-20 09:17:15 +02:00
Andreas Fabri fefbc4bc1a Add funcion intersection_point for Line/Plane 2020-10-20 09:17:15 +02:00
Andreas Fabri eafad68789 Add a function that only constructs a point intersection for 3 planes 2020-10-20 09:17:15 +02:00
Andreas Fabri 46698620e3 Hack for a fix of do_intersect(Plane_3,Plane_3,Plane_3) 2020-10-20 09:17:15 +02:00
Laurent Rineau 51f11605c0 Merge pull request #5022 from janetournois/Intersections_3-fix_do_intersect_3planes-GF
Intersections_3 - fix do_intersect(Plane_3, Plane_3, Plane_3)
2020-10-16 13:41:19 +02:00
Jane Tournois f005bd40a4 Merge branch 'Intersections_3-fix_do_intersect_3planes-GF' into Intersections_3-fix_do_intersect_3planes-master-GF
# Conflicts:
#	Filtered_kernel/include/CGAL/internal/Static_filters/Do_intersect_3.h
2020-10-06 17:30:29 +02:00
Jane Tournois ec690d563e add test for do_intersect(plane, plane, plane) 2020-10-06 17:20:22 +02:00
Jane Tournois 10456676ab fix compilation of do_intersect(plane, plane, plane) for msvc 2020-10-06 17:20:22 +02:00
Maxime Gimeno a85e908e88 Ads tests for do_intersect(tet/tet) 2020-08-21 12:17:50 +02:00
Dmitry Anisimov 263ad6bc99 fixed ch3, inter3, otr2, psp, pmp, smsp, mesh3 + cleanup 2020-08-20 18:25:01 +02:00
Sébastien Loriot dc1ccb5c2d Merge remote-tracking branch 'cgal/releases/CGAL-5.0-branch' 2020-08-11 16:59:55 +02:00
Sébastien Loriot 8199d5308d Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2020-08-11 16:59:19 +02:00
Michael Hemmer a11b69e319 Fix do_intersect for Tetrahedron_3 Tetrahedron_3
In Line 65 in function do_intersect_tetrahedron_bounded (tr,tet,p,k) we eval  k.has_on_bounded_side_3_object()(tet, p), where tr=lh_tet and tet=rh_tet.
Thus p must be generated from lh_tet, or L65 is always true. 

This is a flyby and has not been tested.
2020-08-07 10:45:27 +02:00
Michael Hemmer 52d8238f3b
Fix dispatch do_intersect(Tetrahedron_3, Bbox_3)
Moving do_intersect(Tetrahedron_3, Bbox_3) below do_intersect(Bbox_3, Tetrahedron_3)

Before do_intersect(Tetrahedron_3, Bbox_3)  called do_intersect(Iso_cuboid_3, Tetrahedron_3), which compiled due to implicit conversion. 
AFAIKT it even worked, up to instances with degenerated Bbox_3/Iso_cuboid_3 executed in debug mode.
2020-08-06 15:15:53 -07:00
Maxime Gimeno 9c15f2c9dc Use FeatureSummary in the demo, and remove CGAL_FOUND 2020-08-04 12:46:17 +02:00
Dmitry Anisimov ad813b4cb0 further removed result_of and result 2020-07-30 16:19:02 +02:00
Mael f42d19b37e
Use kernel functors (suggestions from @sloriot)
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2020-07-08 12:39:18 +02:00
Michael Hemmer b3dbae08fc
Update Tetrahedron_3_Bounded_3_do_intersect.h
Fixing typo.
2020-06-24 17:54:30 +02:00
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