Commit Graph

968 Commits

Author SHA1 Message Date
albert-github da0f634cb2 Spelling correction
Spelling correction
2025-11-21 11:10:23 +01:00
Sebastien Loriot 1069678f36
Optimize the `do_intersect()` functions of the 2D Regularized Boolean Set Operation" package (made it tolerant to inexact kernels.) (#9050)
## Summary of Changes

Optimized `do_intersect(polygon, polygon)`, `do_intersect(begin, end)`,
and `do_intersect(begin1, end1, begin2, end2)`:
(i) Terminated the execution once an intersection is detected. (In the
past, the intersection was computed in one phase and examined in a
subsequent phase.)
(ii) Made the variants of the free functions `do_intersect()` that apply
to linear polygons, robust even with an inexact-construction kernel. The
variants that apply to generalized polygons endure inexact constructions
much more than before; however, there are rare degenerate cases that are
still require an exact construction kernel.

In general, the changes described here do not affect the default
interface, so a small feature is not required. However, it is a major
impact, and it does affect the interface as described bellow, and even
somehow break backward compatibility.

Recently, the code of the package "2D Regularized Boolean Set
Operations" was optimized. In particular, a 3rd optional parameter was
introduced in the free functions. It determined whether the boundaries
of the input polygons are treated as cyclic sequences of single
(`x`-monotone) segments or as a cyclic sequences of (`x`-monotone)
polylines. The change described here eliminates this 3rd parameter, and
brings the interface of the `do_intersect() function back to the
original design with two input polygons.

## Release Management

* Affected package(s): Boolean_set_operations_2, Surface_sweep,
Arrangement_on_surface_2
* Feature/Small Feature (if any):
[here](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/do_intersect_polygon_2_predicates_only)
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*](httpssss://wrong_URL_to_be_changed/Manual/Pkg)
* License and copyright ownership: TAU
2025-11-21 09:21:02 +01:00
Sébastien Loriot f92b41ae0a Merge remote-tracking branch 'cgal/main' into 'efifogel/Bso_2-do_intersect_efif' 2025-11-03 15:47:22 +01:00
Sébastien Loriot e4469c043e handle backward compatibility 2025-11-03 15:46:19 +01:00
Andreas Fabri 4b89f17b42 CGAL: An Halfedge 2025-11-03 14:37:50 +00:00
Sebastien Loriot 93d3356dd9
Fix warning 2025-09-23 17:28:04 +02:00
Mael Rouxel-Labbé 0721be1a58 Use \link / \ref to add missing links of functions with parameters 2025-09-19 00:26:17 +02:00
Efi Fogel 9b3132a2cd Pacify MSVC (min/max issue) 2025-09-18 13:16:20 +03:00
Efi Fogel 05dd65609d Cleaned up; eliminate warnings 2025-09-16 14:41:21 +03:00
Efi Fogel 2e087bc108 Removed unused (formal) variables 2025-09-16 14:41:00 +03:00
Efi Fogel bd6a4ca392 Removed redundant using statement 2025-09-13 19:15:39 +03:00
Andreas Fabri 3988fe2009
Update Gps_on_surface_base_2.h (std::min)(..) 2025-09-12 17:15:07 +02:00
Efi Fogel 0f2aa39b62 Fixed template template use 2025-09-10 18:46:58 +03:00
Efi Fogel ba19fbd67d ops; fixed typo 2025-09-10 18:46:26 +03:00
Efi Fogel 65c797ab44 Fixed definition of template template parameter 2025-09-10 18:38:03 +03:00
Efi Fogel dc422a7531 Removed unused variable (indent) 2025-09-10 18:35:49 +03:00
Efi Fogel e73cf18c12 Removed unused typedefs 2025-09-10 18:35:30 +03:00
Efi Fogel bc29da5ee3 Removed tab 2025-09-09 21:25:12 +03:00
Efi Fogel 1d62c37822 Added some notes to indicate that inexact constructions are tolerated for do_intersect() when applied to (linear) polygons 2025-09-07 00:28:11 +03:00
Efi Fogel 5b6df813f5 Fixed do_intersect() and cleaned up 2025-09-06 20:41:49 +03:00
Efi Fogel 29715e44a4 Added an alternative divide & conquer for running do_intersect. 2025-08-30 20:47:31 +03:00
Efi Fogel f4a02aeaef Cleaned up 2025-08-30 20:46:42 +03:00
Efi Fogel f69ad03ef8 Interception sweep for do_intersect() 2025-08-28 12:11:48 +03:00
Efi Fogel a366725c85 Enhanced and removed the UsePolylines tag from do_intersect() 2025-08-27 14:39:24 +03:00
Efi Fogel 1c45ed834c Cleaned up 2025-08-26 22:33:24 +03:00
Efi Fogel 375681748d Cleaned up 2025-08-26 22:30:48 +03:00
Efi Fogel 81bb832333 More clean ups 2025-08-26 22:04:00 +03:00
Efi Fogel a74945062c Cleaned up; replaced `typedef` with `using`, etc. 2025-08-26 21:58:34 +03:00
Efi Fogel 1bd923b393 Removed all tags related to polylines 2025-08-26 14:55:22 +03:00
Efi Fogel 0f528545c7 Suppressed using Polyline with do_intersect() and fixed the do-intersect oberlay sweep-line visitor 2025-08-25 19:10:19 +03:00
Efi Fogel 35721db0b9 Cleaned up 2025-08-25 19:09:36 +03:00
Efi Fogel d41efe0330 Cleaned up 2025-08-25 19:09:21 +03:00
Efi Fogel bf1bc2fc85 Cleaned up 2025-08-25 16:43:17 +03:00
Sébastien Loriot 8e0f2d6f73 Merge remote-tracking branch 'cgal/6.0.x-branch' into 'cgal/master' 2025-07-31 15:19:07 +02:00
Sébastien Loriot 28eee36cb6 Merge remote-tracking branch 'cgal/5.6.x-branch' into 'cgal/6.0.x-branch' 2025-07-31 15:15:52 +02:00
Sébastien Loriot 59bf188ea2 fix one more warning 2025-07-30 09:37:34 +02:00
Sébastien Loriot de6cbbce0c fix unused var warning 2025-07-29 09:58:22 +02:00
Sebastien Loriot 97bd1cf428
Rename home page of reference manuals to "Reference Manual" (#8904)
Before: "Pkg Reference"
After: "Reference Manual"

No need to repeat the package name as it is on the line above.

Example output
![Screenshot from 2025-05-22
16-18-54](https://github.com/user-attachments/assets/ed285e12-d95c-4ec2-934d-12f4c7aa014c)
2025-05-26 11:47:37 +02:00
Sébastien Loriot 13609a6966 no need to repeat the package name as it is on the line above 2025-05-22 17:53:41 +02:00
Andreas Fabri 2bdeff8687 counter-clockwise -> counterclockwise 2025-05-15 07:41:00 +01:00
Andreas Fabri e2058c01c6 Remove some hyphens 2025-05-15 07:28:31 +01:00
Laurent Rineau 010adccdec fix the mentions of CGAL_USE_BASIC_VIEWER_QT (with the Qt suffix) 2025-05-02 09:22:38 +02:00
Sébastien Loriot 05f479356e undo doc changes 2025-04-30 10:06:15 +02:00
Sébastien Loriot a9c8a49831 use CGAL_Basic_viewer target 2025-04-30 09:19:50 +02:00
Guillaume Damiand 54b009f070 #if def basic viewer 2025-04-18 13:38:16 +02:00
Guillaume Damiand 429d2926fd error in draw_polygon_set_2 2025-04-18 09:23:37 +02:00
Guillaume Damiand b9efd6983c replace macro CGAL_USE_BASIC_VIEWER by CGAL_USE_BASIC_VIEWER_QT 2025-04-17 17:45:10 +02:00
Guillaume Damiand 219ea871d7 copy the parts of gsoc2024-basic_viewer_glfw-tgrillon that concern only the qt basic viewer 2025-04-17 15:55:54 +02:00
Mael Rouxel-Labbé adf8e5ad6a it's > its 2025-03-28 21:18:55 +01:00
Mael Rouxel-Labbé 53f32aba4a than > then
+ freebie
2025-03-28 21:18:50 +01:00