Commit Graph

105214 Commits

Author SHA1 Message Date
Sébastien Loriot 98f4633e5f Merge remote-tracking branch 'cgal/5.5.x-branch' 2024-09-06 16:07:14 +02:00
Sebastien Loriot a27d129698
[PSP3] Adapting to new LASTools version (branch 5.5) (#8448)
Allowing use of official LAStools repository or CGAL's fork of LASlib

5.5-branch variant of  #8173 

## Release Management

* Affected package(s): PSP3, Point_set_3, Stream_support
* Issue(s) solved (if any): fix #8111
2024-09-06 16:06:10 +02:00
Sven Oesau e3b65d3c75 changing LAS_TOOLS_VERSION check to proper version 2024-09-04 10:39:53 +02:00
Sébastien Loriot 3b531094df Merge remote-tracking branch 'cgal/5.5.x-branch' into HEAD 2024-09-03 17:26:18 +02:00
Sebastien Loriot 7425bc4654
Handle nested holes in convex decomposition (#8442)
Fixes #8379
2024-09-03 17:23:28 +02:00
Sebastien Loriot f693844a48
Ridges 3 bug fix doc pougetma (#8440)
## Summary of Changes

Add a rep example/data with 2 off files

## Release Management

Solves issue 8327 
https://github.com/CGAL/cgal/issues/8327
2024-09-03 17:22:58 +02:00
Sven Oesau 1cf6fe884d missing end of line 2024-09-03 16:05:37 +02:00
Sven Oesau d7601bc132 update CMakeLists.txt condition for Visual Studio 2017 2024-09-03 16:01:37 +02:00
Sébastien Loriot b46e4359b1 make it work also for installed version 2024-09-03 15:52:51 +02:00
Sébastien Loriot cb78abd603 fixes for latest version of LAStools + be compatible with CONFIG mode
provided CMAKE_FIND_PACKAGE_PREFER_CONFIG is set to TRUE
2024-09-03 14:20:20 +02:00
Sébastien Loriot e791122b35 handle cases when LASZIP and LASLIB have different include paths 2024-09-03 09:59:02 +02:00
Sébastien Loriot b67bb2529d use assert in test 2024-09-02 09:03:30 +02:00
Sébastien Loriot ce3e8ae0de update macro 2024-08-30 16:23:27 +02:00
Sébastien Loriot 21f0f805c7 fix condition 2024-08-30 16:17:38 +02:00
Sébastien Loriot 04e90b7eb4 do not use empty variable 2024-08-30 15:58:57 +02:00
Sébastien Loriot 24ca2df2b3 do not mention data that does not exist 2024-08-30 15:35:47 +02:00
POUGET Marc ee4dbad0b3 doc fix 2024-08-30 15:34:33 +02:00
Sven Oesau a82fb5088b allow use of Rapidlasso Laslib as alternative to CGALs fork 2024-08-30 10:14:36 +02:00
Sébastien Loriot abd99b68eb handle nested holes in convex decomposition 2024-08-29 10:10:20 +02:00
Sébastien Loriot afb52e937d Merge remote-tracking branch 'cgal/5.5.x-branch' into HEAD 2024-08-29 09:31:12 +02:00
Sébastien Loriot fdd8f7f374 data dir does not exist 2024-08-29 09:08:14 +02:00
Sébastien Loriot 63d6e6505f backport of https://github.com/CGAL/cgal/pull/7382 2024-08-28 11:58:03 +02:00
Sébastien Loriot 706c5f12ae backport of https://github.com/CGAL/cgal/pull/7499 2024-08-28 11:49:45 +02:00
Sebastien Loriot 21c75a1f0b
[PSR] Fixed example saving paths (#8437)
## Summary of Changes

Results of examples were using a file path with a folder.

## Release Management

* Affected package(s): Polygonal Surface Reconstruction
2024-08-28 11:45:41 +02:00
Laurent Rineau dc25703d6f Merge branch '5.5.x-branch' into 5.6.x-branch 2024-08-28 11:44:36 +02:00
Laurent Rineau 377e2f11bc create_new_release with SELinux: call restorecon 2024-08-28 11:37:57 +02:00
Sébastien Loriot 860f60b090 need c++17 2024-08-28 11:23:06 +02:00
Sven Oesau 4eb51f79d0 fixed saving paths 2024-08-28 10:46:59 +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 5791f2115c
Nef_3: Fix conversion to a FaceGraph (#6727)
## Summary of Changes

Fix the case of surfaces with borders. Then they may be incident to only
the unbounded volume which so far was ignored.

## Release Management

* Affected package(s): Nef_polyhedron_3
* Issue(s) solved (if any): fix #6423
2024-08-26 15:21:47 +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
Sebastien Loriot 51c2cd9e90
Avoid creating degenerate planes (#8416) 2024-08-26 15:20:57 +02:00
Sebastien Loriot f32c7b015d
run_doxygen_testsuite: fix SELinux contexts so that the web server can offer the files (#8432) 2024-08-26 15:20:40 +02:00
Laurent Rineau 7838b95b94 generate review of the code 2024-08-23 15:55:55 +02:00
Laurent Rineau ac46e56236 fix SELinux contexts so that the web server can offer the files 2024-08-23 15:49:20 +02:00
Sébastien Loriot ca2907fbfc avoid creating degenerate planes 2024-08-20 10:09:23 +02:00
Sebastien Loriot 8730ff5d55
Shape_detection: using proper triangulated polygonal faces for linear_least_squares (#8314)
## Summary of Changes

Polygonal faces are now triangulated and face normals are calculated
using PMP::compute_face_normal.

The calculated face normals and triangulations are buffered in
Least_squares_plane_fit_region. However, Least_squares_plane_fit_sorting
is independent and does not benefit from that buffered data.

## Release Management

* Affected package(s): Shape_detection
* Issue(s) solved (if any): fix #7992
2024-08-19 11:22:41 +02:00
Sébastien Loriot 060f81452a Merge remote-tracking branch 'cgal/5.5.x-branch' into HEAD 2024-08-19 11:19:24 +02:00
Sebastien Loriot e80fe2716c
add validation for the range case (#8410)
Fixes  #6840

@efifogel I did not use expensive assertion as you mentioned because it
is already done this way in intersection and symmetric_difference.
2024-08-19 11:15:58 +02:00
Sebastien Loriot 078fe188c5
Use default surface topology criteria (#8409)
Fixes #7406
2024-08-19 11:15:45 +02:00
Sebastien Loriot 1b8be7bb67
Speed up copy_face_graph (#8380)
Mostly when tm is not empty and almost make it less dependent on tm size

<s>Should probably be backported</s>
2024-08-19 11:15:28 +02:00
Sébastien Loriot d20cef2f91 remove unused variable 2024-08-19 09:02:24 +02:00
Sébastien Loriot 30fc15064b add assertions 2024-08-14 18:22:04 +02:00
Sébastien Loriot 403ec19f8a clean up and move skip test to export header 2024-08-14 18:18:26 +02:00
Sébastien Loriot 6e5f37474f bad type 2024-08-14 17:20:06 +02:00
Sébastien Loriot e931d1258b add missing include 2024-08-14 16:52:42 +02:00
Sébastien Loriot 7d0969d15f use dynamic property maps 2024-08-14 16:10:53 +02:00
Sébastien Loriot 8c70d6120f hide PMP usage behind a macro 2024-08-14 15:26:33 +02:00
Sébastien Loriot 5b731118f9 add validation for the range case 2024-08-13 16:22:36 +02:00
Sébastien Loriot 2c31defc65 backport f7a4836039 to the deprecated test 2024-08-13 16:14:23 +02:00