Commit Graph

4752 Commits

Author SHA1 Message Date
Sebastien Loriot 18ee149f2e
Aos 2 fixes efif (#9133)
## Summary of Changes

This addresses issue #9084. In particular, I replaced `Cartesian` with
`Simple_cartesian` in all traits.
I also defined Multiplicity to be `std::size_t` in all traits. In
addition, I replaced `typedef` with `using` and properly indented and
cleaned up the code in the source files I touched. I simplified the code
that approximates a point of the traits classes `Arr_linear_traits_2`,
`Arr_segment_traits_2`, and `Arr_non_caching_segment_basic_traits_2.h`.
I did not use the
[GAL::Cartesian_coverter](https://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Cartesian__converter.html)
(mentioned in issue #9084) because the code is now simple as it is(just
one line in each traits class).

I also added a missing `inline` in draw_arrangement_2. This is unrelated
to the above.

## Release Management

* Affected package(s): Arrangement_on_surface_2
* Issue(s) solved (if any): fix #9084
* Feature/Small Feature (if any):
* 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-12-03 11:45:33 +01:00
Efi Fogel 9d28892e5f Changed Approximate_curve_length_2 => Approximate_length_2, and added missing const 2025-11-26 16:48:30 +02: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
Efi Fogel 3ccdc134fe Slightly simplified the code of Approximate_2::operator()(xcv...) 2025-11-13 15:10:17 +02:00
Efi Fogel 5812c1d6b5 Changed Cartesian to Simple_cartesian. Used size_t for Multiplicity. Properly indented and cleaned up. 2025-11-13 11:10:49 +02:00
Efi Fogel 48262b8068 Removed unnecessary include 2025-11-13 10:28:01 +02:00
Efi Fogel 24d3cd4bec Added missing inline 2025-11-13 09:33:58 +02:00
albert-github d3d5d4575a Spelling correction
Spelling correction
2025-11-04 11:15:57 +01:00
Sebastien Loriot 8a136c50c9
CGAL: An Halfedge (#9119)
## Summary of Changes

Replace several "an"  by "a"

## Release Management

* Affected package(s):   global
* License and copyright ownership:  unchanged
2025-11-03 18:51:32 +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
Andreas Fabri 4b89f17b42 CGAL: An Halfedge 2025-11-03 14:37:50 +00:00
Sébastien Loriot 41ad794c39 Merge pull request #9069 from efifogel/gsoc2025-aos_demo-shepard
Gsoc2025 aos demo shepard
2025-11-03 13:56:29 +01:00
Sébastien Loriot 837939c8ee Merge pull request #9036 from efifogel/Aos_2-approximate_unbounded-efif
Aos 2 approximate unbounded efif
2025-11-03 09:43:25 +01:00
Efi Fogel def7ea788f Merge branch 'gsoc2025-aos_demo-shepard' of github.com:efifogel/cgal into gsoc2025-aos_demo-shepard 2025-10-29 13:07:46 +02:00
Efi Fogel 8aaeff1a8e Pacify old clang (12); specifica pinstantiation of Arr_coordinate_converter 2025-10-29 13:05:18 +02:00
Sébastien Loriot dcaad3d140 add missing license include directives 2025-10-28 14:11:19 +01:00
Efi Fogel e1e41fd199 Removed unused variable 2025-10-28 14:22:56 +02:00
Efi Fogel cd04470eef Enabled compilation without Qt support 2025-10-25 11:02:45 +03:00
Efi Fogel d1afc52902 Cleaned up and removed unused variables and types 2025-10-25 10:52:25 +03:00
Efi Fogel a1b5cd58da Cleaned up and initialized m_left_on_boundary properly 2025-10-23 12:56:05 +03:00
Efi Fogel 5ed29f9173 Cleaned up; Pacify MSVC; suppressed warnings. 2025-10-23 12:11:31 +03:00
Efi Fogel 6314299598 Cleaned up; supress warnings 2025-10-23 11:06:32 +03:00
Efi Fogel f806219fc8 Merge branch 'Aos_2-approximate_unbounded-efif' into gsoc2025-aos_demo-shepard 2025-10-23 10:20:37 +03:00
Efi Fogel 8e11587719 Cleaned up 2025-10-23 10:00:43 +03:00
Efi Fogel 5df526f70c Fixed link to draw() 2025-10-23 09:25:49 +03:00
Efi Fogel d2b801937f Removed erroneous (CGAL) namespace 2025-10-23 09:24:43 +03:00
Efi Fogel 06e505520e Fixed link to draw() 2025-10-23 09:21:44 +03:00
Efi Fogel 909cbce367 Pacify MSVC (min/max issues) 2025-10-23 09:16:33 +03:00
Efi Fogel 8a3c77fc0d Fixed draw() links 2025-10-23 09:09:45 +03:00
Efi Fogel 58e7083445 Fixed link to draw() functions 2025-10-23 09:00:18 +03:00
Efi Fogel 8b6325b101 cleaned up 2025-10-23 09:00:02 +03:00
Efi Fogel e7682069fe Introduced is_to_left() for points and used it to handle intersection spoints on the boundary 2025-10-21 14:49:42 +03:00
Efi Fogel 8730763d39 Restored preconditions 2025-10-21 14:49:19 +03:00
Efi Fogel 4d85bc3e63 Cleaned up 2025-10-21 14:49:00 +03:00
Efi Fogel 93d5fecf1c Suppress drawing when runing ctest 2025-09-28 09:16:12 +03:00
Mael Rouxel-Labbé b653138420 Fix some links 2025-09-19 13:26:36 +02:00
Efi Fogel 2a8aa908fa Ops, missed a few min/max occurrences. 2025-09-19 09:53:34 +03: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 81e1650c78 Pacify MSVC (min/max issue) 2025-09-18 13:05:41 +03:00
Efi Fogel 2046b32e80 Removed drawing until it is supported for rational curves 2025-09-17 11:07:04 +03:00
Efi Fogel 0879232f8e Fixed drawing with a bounding box 2025-09-17 10:14:07 +03:00
Shepard Liu d297dd4e53 restore changes of cgal_test.cmake 2025-09-17 13:01:56 +08:00
Shepard Liu 8a026f7ec5 cleaned up unwanted changes 2025-09-17 12:52:07 +08:00
Shepard Liu f40f4a8629 compilation on windows & small bug fix 2025-09-16 11:04:04 +08:00
Efi Fogel a137e76807 Removed tabs 2025-09-09 21:23:00 +03:00
Efi Fogel 6a47eb77e4 Added missing examples 2025-09-07 16:28:04 +03:00
Efi Fogel e36f71e2a7 Ordered 2025-09-07 16:27:58 +03:00
Efi Fogel 55dcfcfb46 Fiex typo 2025-09-07 16:27:46 +03:00
Efi Fogel a9e46362aa Fixed link to draw() 2025-09-07 15:43:04 +03:00
Efi Fogel 5b6df813f5 Fixed do_intersect() and cleaned up 2025-09-06 20:41:49 +03:00