Commit Graph

2036 Commits

Author SHA1 Message Date
Laurent Rineau f95027a5c5 Polyline_constraint_hierarchy_2: more refactoring
- refactor the member function `enclosing_constraint`
- refactor things around `sc_to_sc_map`, using new member functions
  to encapsulate the logic
- remove unused/undocuments functions
2025-01-23 09:36:30 +01:00
Laurent Rineau 58c739c61f clearnup: remove undocumnted/unused member functions 2025-01-23 09:33:35 +01:00
Laurent Rineau 0b4dfa8952 Polyline_constraint_hierarchy_2: get_contexts -> context 2025-01-23 09:33:35 +01:00
Laurent Rineau 7808c6f93d fix the failing test 2025-01-22 22:43:59 +01:00
Laurent Rineau 2db7278922 add failing tests (for now) 2025-01-22 16:04:32 +01:00
Laurent Rineau 1ce108778f rewrite/refactor a lot of the code 2025-01-22 16:03:26 +01:00
Laurent Rineau cf815b823f doc fix: add that iterators are all bidirectional 2025-01-16 14:14:38 +01:00
Laurent Rineau cf50ad8b13 document the breakng change 2025-01-16 13:47:33 +01:00
Laurent Rineau d4e6ffddf4 fix protection against min/max macros
The regular expression I used was:

```
((?!(?:^.*(\/\/|\/\*).*|^ *\* .*|^[^"]*"(?:"[^"]*"|[^"])*))^(?:.*[ ,\(]|))(\b(?:(?:[A-Za-z]+::)*)(?:max|min))\b *\(
```
2025-01-14 16:12:34 +01:00
Laurent Rineau 1f70e59210 doc bug-fix 2025-01-14 14:11:08 +01:00
Laurent Rineau eafa97a862 major cleanup of Polyline_constraint_hierarchy_2
- remove all mentions of `Edge` and `Constraint`
- `Subconstraint_iterator` is renamed `Subconstraint_and_contexts_iterator` (because of its value type)
- a new `Subconstraint_iterator`, with value type `Subconstraint`
- a few unused/untested and uncompilable functions are removed from the code
- a lot of internal renamings

== Breaking changes ==

For `Constrained_triangulation_plus_2`, there are a few breaking changes...

- The value type of `subconstraints_begin()`, `subconstraints_end()`, of the range `subconstraints()` has changed to `Subconstraint` (a simple `std::pair` of vertex handles). That is actually a kind of bug-fix, because it was documented as such in the user manual.
- The new member functions `subconstraints_and_contexts_begin()`, `subconstraints_and_contexts_end()`, `subconstraints_and_contexts()` are created get the old value type (`std::pair<const Subconstraint, std::list<Context>*>`).
- A few range types have changed from `CGAL::Iterator_range<It>` to `unspecified_type`, for efficiency reasons.
- Doc fixes.

== Determinism ==

Even if it was not documented, the range `subconstraints()` is deterministic (used by Mesh_2), and `subconstraints_and_contexts()` is not.
2025-01-13 17:06:58 +01:00
Laurent Rineau 926bb0cf89 hierarchy: remove two undefined member functions 2025-01-13 11:36:05 +01:00
Laurent Rineau d468962663 hierarchy: remove `remove_Steiner(T v, T va, T vb)`
That code was never used nor tested, and cannot compile anyway.
2025-01-13 11:36:05 +01:00
Laurent Rineau 93ac1845fa CDT_plus_2 hierarchy: add Edge_iterator, that is deterministic
That uses Boost.STLInterfaces from Boost >= 1.74.
2025-01-13 11:36:05 +01:00
Laurent Rineau 56bb4191ed cleanup existing code 2025-01-13 11:24:30 +01:00
Laurent Rineau 364ba1595c fix a missing #include 2025-01-08 21:53:53 +01:00
Laurent Rineau ea151ff987 fix CGAL_USE_BARE_STD_MAP with Polyline_constraint_hierarchy_2 2025-01-08 21:15:22 +01:00
Laurent Rineau 552685784b Add CGAL::unordered_flat_map implementation
...and `refactor Polyline_constraint_hierarchy_2` to use it.

`CGAL::unordered_flat_map` will be Boost `unordered_flat_map` if availlable, or the standard `std::unordered_map` otherwise.
2025-01-08 11:46:23 +01:00
Laurent Rineau aaac2c2dc1 Merge remote-tracking branch 'cgal/master' into pr/lrineau/8273 2025-01-08 11:34:54 +01:00
albert-github aaa6adb7c1 In a number of cases the command `@{` (or `\{`) is not closed by a corresponding closing command (`@}`). For the `\=name` command this is apparently not necessary but it is better to have corresponding open and close commands.
(also corrected a split in a line that I noticed in Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_conic_traits_2.h)
2024-12-25 15:09:57 +01:00
Sébastien Loriot b32558b87e Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-12-16 11:47:34 +01:00
Mael Rouxel-Labbé 2b5682f72d Fix missing backslash in math equation 2024-12-13 14:32:48 +01:00
Mael Rouxel-Labbé 195616fcf3 Document point() in 2D Euclidean triangulations 2024-12-13 14:18:35 +01:00
Laurent Rineau 196f00c34b Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2024-12-04 11:27:05 +01:00
Laurent Rineau 2b0c79e85a update reuse to v5 2024-11-26 10:14:17 +01:00
Laurent Rineau 02632017a5 Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2024-11-12 12:33:37 +01:00
Sebastien Loriot 25afb37051
Triangulation_2: Do not include kernel header (#8527)
## Summary of Changes

Do not include `Exact_predicates_inexact_constructions_kernel.h` and
`Simple_cartesian.h`.
Change order of `#include` statements so that the  T2 files come first.
Forward declare `Epick` in `Constrained_triangulation_plus_2` where it
is used for defining a `Default` for the template parameter (which is
not documented).

## Release Management

* Affected package(s): Triangulation_2
* License and copyright ownership: unchanged.
2024-11-08 16:11:41 +01:00
Sebastien Loriot 584c7ddb35
remove forward declaration 2024-11-06 10:10:03 +01:00
Laurent Rineau 96cd3e6f09 Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-17 00:25:24 +02:00
Sven Oesau a06002ab2b Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-10-14 14:42:46 +02:00
Andreas Fabri 527569346e CGAL: Modernize CMakeLists.txt 2024-10-08 17:02:41 +01:00
Andreas Fabri 6f8f89ea37 Remove Defaul 2024-10-08 15:26:05 +01:00
Andreas Fabri 1ccbbb783a Add missing #include (probably revealed by reordering of #includes) 2024-10-08 12:53:59 +01:00
Andreas Fabri 9a12b3048e Triangulation_2: Do not include kernel header 2024-10-08 12:18:30 +01:00
albert-github dd02af92a2 issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
albert-github 82800848b3
Update Triangulation_2/TODO
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2024-09-30 12:51:01 +02:00
albert-github c3530e21dc Spelling correction
Spelling correction
2024-09-28 11:49:56 +02:00
Laurent Rineau 37f3bcfaab Merge remote-tracking branch 'cgal/master' into Triangulation_3-CDT_3-lrineau 2024-09-09 10:57:33 +02:00
Andreas Fabri 12468ccf4a Address #8401 2024-08-09 11:32:26 +01:00
Andreas Fabri ff89ba08ad Deal with duplicate lines 2024-08-06 08:06:41 +01:00
Laurent Rineau ace867c084 Merge remote-tracking branch 'lrineau/CGAL-followup_PR_8170-lrineau' into Triangulation_3-CDT_3-lrineau 2024-07-01 16:39:05 +02:00
Mael Rouxel-Labbé 67aba3fefe Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-06-20 10:18:49 +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 93fd96644c use boost::unordered_flat_map to optimize Polyline_constraint_hierarchy_2 2024-06-11 21:59:35 +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
albert-github 92a5cc9ea0 Spelling correction
instanciation -> instantiation
2024-05-27 13:01:46 +02:00
Laurent Rineau c0cb990cb9 Revert "use boost::unordered_flat_map to optimize Polyline_constraint_hierarchy_2"
This reverts commit 1ca6c17a2a.
2024-05-22 16:04:49 +02:00
Laurent Rineau 70464ea107 Merge remote-tracking branch 'afabri/STL_extension-Fix_Prevent_deref-GF' into pr/lrineau/8170 2024-05-21 18:55:11 +02:00
Laurent Rineau 797c056577 Prevent_deref, major changes
Now the second parameter is the `reference` type and no longer the `value_type`.
2024-05-21 08:53:48 +02:00
Laurent Rineau e96aaf37ad Merge branch 'master' into pr/afabri/7410 2024-05-17 23:03:55 +02:00
Laurent Rineau 1fb3e0d837 cosmetic change 2024-04-26 16:10:23 +02:00
Laurent Rineau 127163fda3 cosmetic changes in debug messages 2024-04-26 16:10:23 +02:00
Laurent Rineau 1ca6c17a2a use boost::unordered_flat_map to optimize Polyline_constraint_hierarchy_2 2024-04-26 13:13:04 +02:00
Laurent Rineau f219cdff53 minor tweak with constexpr in CT_2 2024-04-26 13:13:04 +02:00
Laurent Rineau 8e1744fbc1 fix constness 2024-04-26 13:12:05 +02:00
Laurent Rineau 952d34c6ea cosmetic changes (indent, spaces, naming) 2024-04-26 13:09:05 +02:00
Andreas Fabri 53b438eeeb STL_extension: Add parameter for value type to Prevent_deref 2024-04-26 13:08:06 +02:00
Laurent Rineau e313fdc697 Add Compare_xy_2 to TriangulationTraits_2
This enables customization of projection traits for CDT_2s and
facilitates unification with the predicates utilized in
3D triangulations.
2024-04-26 12:13:35 +02:00
Laurent Rineau 98f1e53020 Improve I/O
- `IO::oformat` can display triangulations vertex handles
  with point, using `With_point_tag{}` as second argument,

- improve the compatibility with C++20 `<format>`: now the precision
  can be specified in the format string.

Backport: master
2024-04-26 12:05:08 +02:00
Laurent Rineau 0f8e3eb955 add contexts_range(T va, T vb
a range for `contexts_begin` and `contexts_end` functions.
2024-04-26 12:02:21 +02:00
Laurent Rineau 4db6bc6d16 Merge pull request #6967 from gdamiand/gsoc2022-EBVs-Mostafa-ashraf19
GSoC'22: New CGAL's design to handle basic viewers
2024-04-10 18:04:25 +02:00
Mael Rouxel-Labbé e24d521865 Merge remote-tracking branch 'mine/CGAL-fix_dependencies-GF' into gsoc2022-isosurface 2024-04-04 15:08:22 +02:00
Sébastien Loriot 5254404517 Merge remote-tracking branch 'cgal/master' into HEAD 2024-03-27 22:25:41 +01:00
Guillaume Damiand 9a0b8eb824 Merge branch 'master' into gsoc2022-EBVs-Mostafa-ashraf19 2024-03-26 16:25:29 +01:00
Laurent Rineau 7d0f058463 remove T_2 from dependencies of GraphicsView 2024-03-26 15:52:09 +01:00
Sebastien Loriot a42ffdec11
Merge branch 'master' into CORE-boost_mp_number-GF 2024-03-26 00:27:22 +01:00
Laurent Rineau 820465a556 Merge pull request #8023 from sloriot/PMP-soup_autoref_insert_in_edge
Autorefinement: insert points in edge to avoid filter failures
2024-02-28 10:57:25 +01:00
Sébastien Loriot 910945eb5f undo dependency changes + always use core if not disabled 2024-02-27 16:19:28 +01:00
Sébastien Loriot 3b30756cd3 do not depend on CGAL_Core 2024-02-27 14:46:18 +01:00
Andreas Fabri e4558a4d4b Merge branch 'master' into CORE-boost_mp_number-GF 2024-02-23 17:04:37 +01:00
Laurent Rineau 7b07859059 Merge pull request #8036 from afabri/T23-IOstringstream-GF
Triangulation 2/3:  fstream -> sstream
2024-02-22 10:22:49 +01:00
Andreas Fabri dbb848deb1 Triangulation 2/3: fstream -> sstream 2024-02-16 08:00:02 +00:00
albert-github 0a2865b288 When running xmllint over the documentation output we get a number of waning's like:
```
save_Periodic_2_triangulation_2/class_c_g_a_l_1_1_periodic__2__triangulation__2.html:1420: parser error : Opening and ending tag mismatch: dd line 1420 and div
"This is an advanced function.">is_triangulation_in_1_sheet()</a></code>  </div>
                                                                               ^
```
they are a consequence of the fact that a a command is not properly ended in this case we have a `\pre` command and its documentation states:
> The `\pre` command ends when a blank line or some other sectioning command is encountered.

and in this case the command is followed by the `\cgalAdvancedEnd` command that does not properly end the `\pre` command.
The same is valid in the other cases.
2024-02-02 18:58:03 +01:00
Mael Rouxel-Labbé 07b9587eae Merge remote-tracking branch 'afabri/Kernel_23-squared_length-GF' into gsoc2022-isosurface 2024-01-31 16:47:01 +01:00
Mael Rouxel-Labbé 984a541006 Fix usages of 'th `th 2024-01-23 21:50:04 +01:00
Andreas Fabri a783412ba7 Use structural filtering for the fixed projection traits classes 2024-01-19 11:51:54 +01:00
Sébastien Loriot 272a242f1b restore delaunay in CDT + autoref and deduplicate identical points in no segments case 2024-01-19 11:47:05 +01:00
Sebastien Loriot 722e3825bb
Triangulation_2: Make IO save by changing file names (#7957)
## Summary of Changes

Change file names to avoid interaction between test cases.

@MaelRL I noticed that the RT test does not read back. 

## Release Management

* Affected package(s): Triangulation_2
* Issue(s) solved (if any): fix
[testsuite](https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.0-Ic-141/Triangulation_2/TestReport_gimeno_ArchLinux-clang.gz)
* License and copyright ownership:  unchanged
2024-01-19 11:42:43 +01:00
Guillaume Damiand 3bc56024d3 Merge branch 'master' into gsoc2022-EBVs-Mostafa-ashraf19 2024-01-11 14:08:05 +01:00
Andreas Fabri 37ef2a04f8 Make the file name unique by baking a pointer in it 2024-01-10 17:08:40 +00:00
Sébastien Loriot c99b69a0e7 add missing license headers 2024-01-04 13:50:15 +01:00
Sébastien Loriot e7c26349f2 move header in a package to GPL 2024-01-04 13:36:34 +01:00
Andreas Fabri a2e3f9be0d Triangulation_2: Make IO save by changing file names 2024-01-02 16:57:45 +00:00
Sebastien Loriot caecbe29c7
Replace boost::mpl (#7813)
- `boost::mpl::if_` --> `std::conditional`
- `boost::enable_if` -> `std::enable_if`
- `boost::mpl::and_` -> `&&`
- `boost::mpl::or_` -> `||`
- `boost::constant::bool_` -> `std::bool_constant`
- ...
2023-12-26 17:33:36 +01:00
Sébastien Loriot d75e4f2f54 Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine 2023-12-08 13:26:06 +01:00
Guillaume Damiand bd04b2a68d Remove space in doc 2023-12-06 17:01:34 +01:00
Guillaume Damiand 4d02be9db3 doc: draw ct2 2023-12-06 17:00:20 +01:00
Guillaume Damiand b34fb266a4 fix doc draw ct2 2023-12-06 16:37:48 +01:00
Guillaume Damiand bfcb44bd8c doc: draw point set 3 and constrained triangulation 2 2023-12-06 16:23:49 +01:00
Guillaume Damiand 029ab430a3 doc draw nef3 2023-12-05 14:58:28 +01:00
Guillaume Damiand 03ff679df4 doc draw: move advanced blocks 2023-12-05 14:10:25 +01:00
Guillaume Damiand df2b9ad172 doc draw pwh 2023-12-05 13:16:54 +01:00
Guillaume Damiand 5b7f499fc1 doc draw polygon 2023-12-05 12:58:30 +01:00
Guillaume Damiand 4684dc4f8e T2 and CDT2 draw 2023-12-01 18:02:09 +01:00
Guillaume Damiand f8a487d9ef update dependencies 2023-11-29 18:12:09 +01:00
Laurent Rineau 95b83b1214 Merge pull request #7845 from puneetmatharu/patch-cgal-dont-override-build-testing
Patch usage of BUILD_TESTING to handle the case that CGAL is a subproject
2023-11-29 17:22:54 +01:00
Guillaume Damiand 0655006622 Merge with master: now viewers use Qt6 2023-11-29 14:36:38 +01:00
Sébastien Loriot d9bdf5cfc5 remove extra typename 2023-11-23 09:38:28 +01:00
Andreas Fabri 4e5082b6b5 remove _qt 2023-11-14 09:25:00 +00:00