Commit Graph

577 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 0c35489bbe Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF 2025-03-27 12:28:35 +01:00
Mael Rouxel-Labbé f9001833b1 Merge remote-tracking branch 'cgal/master' into Kernel_23-Fix_dangling_ref_in_CC3-GF 2025-03-15 14:09:28 +01:00
Léo Valque 765aa430a2 Fix warnings and compile error 2025-03-04 11:41:29 +01:00
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Mael Rouxel-Labbé 06f862eee7 Misc post-merge fixes 2025-01-17 12:27:21 +01:00
Sébastien Loriot 499bcadc4b remove extra template keyword 2024-10-04 16:08:31 +02:00
Sébastien Loriot 1805701903 Merge remote-tracking branch 'cgal/5.6.x-branch' 2024-08-26 15:23:41 +02:00
Sébastien Loriot b682c47c56 Merge remote-tracking branch 'cgal/5.5.x-branch' into HEAD 2024-08-26 15:22:53 +02:00
Sebastien Loriot 9dea168da5
Fix for Line_3 Ray_3 do_intersect (#8398)
## Summary of Changes

Some non intersection is wrongfully detected as an intersection for the
Line_3 Ray_3 combination. Here is an illustration:


![image](https://github.com/user-attachments/assets/f18fd662-5ad6-4a01-9a49-a8d0c62cf7fe)

The base code is :
```cpp
  if(!do_intersect(l, r.supporting_line()))
    return false;

  typename K::Coplanar_orientation_3 pred = k.coplanar_orientation_3_object();
  CGAL::Orientation p0p1s = pred(l.point(0), l.point(1), r.source());
  if(p0p1s == COLLINEAR)
    return true;

  CGAL::Orientation stp0 = pred(r.source(), r.second_point(), l.point(0));
  if(stp0 == COLLINEAR)
    return Ray_3_has_on_collinear_Point_3(r,l.point(0),k);

  return (p0p1s != stp0);
```

The supporting line of the ray intersects the line, and then nothing is
collinear, so we check L0,L1,R1 vs R0,R1,L0, which are of opposite sign
so there is an intersection... but there is none.

This check is very similar to what is done in Ray_3-Ray_3, where it is
correct.

I did a naive fix for now: without loss of generality we can go to the
configuration below


![image](https://github.com/user-attachments/assets/5f004941-7f58-4bf3-8416-7dc2144a891f)

and so we have an intersection as long as the ray "points" in the other
slab wrt to the line. And so, in coplanar orientation checks, if the
orientation L0,L1,R0 differs from L0, L1, (L0 + (R1-R0)).

I feel like I could probably skip at least a translation by having
something like Coplanar_orientation(P3, P3, P3, V3), and maybe even
more...

## Release Management

* Affected package(s): `Intersections_3`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2024-08-26 15:21:21 +02:00
Sébastien Loriot ca2907fbfc avoid creating degenerate planes 2024-08-20 10:09:23 +02:00
Mael Rouxel-Labbé c1e5926e70 Add new Intersection_3 test cases 2024-08-06 10:36:09 +02:00
Mael Rouxel-Labbé 37eb0eaa17 Tentative fix for L3R3 do_intersect 2024-08-06 10:36:02 +02:00
Laurent Rineau 32893b91c0 Merge pull request #8263 from lrineau/CGAL-update_minimal_cmake-GF
cmake_minimum_required(VERSION 3.12...3.29)
2024-06-12 10:06:12 +02:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +02:00
albert-github 36c8b7589d Spelling corrections
Last batch (for now) of spelling corrections in doxygen and normal comments
2024-05-31 19:05:34 +02:00
Sébastien Loriot b9232b3677 fix bad indices 2024-01-19 11:47:04 +01:00
Sébastien Loriot dbe61d2feb update intersection computation code to always report the complete combinatoric of the intersection points 2024-01-19 11:47:04 +01:00
Sébastien Loriot 6eff89bbc8 Merge pull request #7614 from sloriot/PMP-BF_autorefine
Add autorefine for triangle soup
2023-12-26 12:11:04 +01:00
Sébastien Loriot 89d3d74865 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-12-18 13:31:48 +01:00
Sébastien Loriot ee1fa58406 Merge remote-tracking branch 'cgal/5.5.x-branch' 2023-12-18 13:31:06 +01:00
Sébastien Loriot 6dca71b428 ease conflict resolution 2023-12-07 10:19:36 +01:00
Sébastien Loriot 2574a13557 restore the optional as it is used by Polyhedral_envelope 2023-12-07 10:12:53 +01:00
Sébastien Loriot d9d2dfc876 remove unused type definition 2023-12-07 09:59:24 +01:00
Sébastien Loriot 0ebc2bee42 remove the optional 2023-12-06 14:17:24 +01:00
Sébastien Loriot 4ecc6671dc increase precision of the result 2023-12-06 12:42:00 +01:00
Laurent Rineau 294f5b7652 Add missing header
CGAL-5.5.x latest test results are completely broken.

https://cgal.geometryfactory.com/CGAL/testsuite/results-5.5.4-I-166.shtml

That is not due to any code change (there was none since the previous testsuite for 5.5.x). The error are due to Boost 1.84. Probably something change in the includes of Boost. The error is about `boost::prior`.  The header `<boost/next_prior.hpp>` must be included.
2023-09-25 10:16:50 +02:00
Sébastien Loriot a528464f31 Merge branch 'cgal/master' into PMP-BF_autorefine 2023-08-28 13:44:44 +02:00
Sébastien Loriot b86a1fed32 Merge remote-tracking branch 'sloriot/PMP-BF_autorefine' into PMP-BF_autorefine 2023-07-05 17:59:29 +02:00
Sébastien Loriot b66afab814 Merge remote-tracking branch 'sloriot/CGAL-using_c++17_stl' into HEAD 2023-07-05 11:29:35 +02:00
Sébastien Loriot dfc386d65b Merge branch 'master' into HEAD 2023-06-22 14:05:45 +02:00
Sébastien Loriot 0ee31a5d4f remove extra parenthesis 2023-06-19 19:17:49 +02:00
Sébastien Loriot bdfa15c08f fixes after merge 2023-06-15 11:34:14 +02:00
Sébastien Loriot 9a0bdb5d96 boost::variant ---> std::variant 2023-06-15 10:57:10 +02:00
Sébastien Loriot 604dcdc435 boost::optional => std::optional 2023-06-15 10:57:09 +02:00
Sébastien Loriot c8a88b9014 remove CGAL_static_assertion* 2023-06-15 10:42:10 +02:00
Sébastien Loriot 003bf47781 move alpha computation into a functor 2023-06-08 14:05:09 +02:00
Sébastien Loriot 0551cefa5d add more test from errors while testing thingi10k models 2023-06-07 15:02:10 +02:00
Sébastien Loriot 854aacd671 add comments 2023-06-06 15:31:19 +02:00
Sébastien Loriot 9ed6c7acdc remove useless include 2023-04-23 22:37:07 +02:00
Sébastien Loriot e82d970d19 boost::next -> std::next 2023-04-23 22:37:07 +02:00
Sébastien Loriot 99619dc634 boost::prior -> std::prev 2023-04-23 22:37:07 +02:00
Sébastien Loriot 55f8bcb122 fix assertion 2023-04-06 19:26:58 +02:00
Sébastien Loriot 2b74b8f10d fix some bugs 2023-04-06 19:25:46 +02:00
Sébastien Loriot f3e4a60f96 fix intersection point computation 2023-04-06 19:25:46 +02:00
Sébastien Loriot 4fa600bc5f bug fix 2023-04-06 19:25:46 +02:00
Sébastien Loriot 8e050bdb49 fix various bug and add debug
triangle_3_triangle_3_intersection now passes
2023-04-06 19:25:46 +02:00
Sébastien Loriot 8bea32df62 WIP new coplanar intersection 2023-04-06 19:25:46 +02:00
Laurent Rineau d3cbf432ec Merge pull request #7201 from GilesBathgate/General-remove_boost_lexical_string_cast-GilesBathgate
Replace use of boost::lexical_cast<std::string> with std::to_string
2023-02-02 10:58:17 +01:00
Laurent Rineau be124f5111 Merge pull request #7208 from MaelRL/Intersections_3-Set_but_unused-GF
Fix set-but-not-used warning
2023-02-02 10:58:13 +01:00
Laurent Rineau b42afc582b Merge pull request #7208 from MaelRL/Intersections_3-Set_but_unused-GF
Fix set-but-not-used warning
2023-02-02 10:57:11 +01:00