Commit Graph

4636 Commits

Author SHA1 Message Date
Laurent Rineau 7c92341be7 Introduce CGAL_Kernel_pred_RT_or_FT
This commit introduces a new kind of predicate in
`<CGAL/Kernel/interface_macros.h>`. In addition to
  - `CGAL_kernel_pred` for predicates,
  - `CGAL_Kernel_pred_RT` for predicates that can be implemented using a
    ring-type,

now there is also:
  - `CGAL_Kernel_pred_RT_or_FT` for predicates with multiple overloads of
    `operator()`, some needing a field type and other needing a ring type
    (without the division operator).

The C++ code can discriminate between the two cases with a special wrapper
for the return type: `CGAL::Needs_FT<result_type` instead of `result_type`
(defined in `<CGAL/tags.h>`.

In `<CGAL/Filtered_predicate.h>`, in addition to the usual class template
 `Filtered_predicate`, there is now also `Filtered_predicate_RT_FT` that
 takes three predicates as template parameters instead of two:
  - the exact predicate with an ring-type,
  - the exact predicate with a field-type,
  - the approximate predicate (with `Interval_nt` as number-type).

For the moment, only `Compare_distance_3` in
`<CGAL/Cartesian/function_objects.h>` is using the new
`Filtered_predicate_RT_FT`.

Before this commit, the file
`Kernel_23/test/Kernel_23/include/CGAL/_test_new_3.h` was testing
`Compare_distance_3` only with three points or for points. This commit adds:
  - a test with `Point_3, Point_3, Segment_3`, and
  - a test with `Line_3, Point_3, Point_3`, that actually needs a field type
    with its current implementation.

In the test `Kernel_23/test/Kernel_23/Filtered_cartesian.cpp`, the macro
`CGAL_NO_MPZF_DIVISION_OPERATOR` is defined, to remove the division operator
from `CGAL::Mpzf`. `CGAL::Mpzf` is a ring-type, even with its `operator/`
(because that `operator/` can only compute exact divisions), but with
`CGAL_NO_MPZF_DIVISION_OPERATOR` defined, that is now checked by the compiler.
2022-09-02 11:31:47 +02:00
Sebastien Loriot d64d243bf5
Merge pull request #6772 from sloriot/PMP-remove_caps_needles_doc
Document remove_almost_degenerate_faces()
2022-08-10 18:31:52 +02:00
Sebastien Loriot f4a505ca2a
Merge pull request #6688 from gdamiand/CMap_index-gdamiand
CMap/GMap/LCC with index
2022-08-02 10:55:37 +02:00
Sébastien Loriot a1c03cdbb8 update CHANGES 2022-07-26 15:11:40 +02:00
Laurent Rineau 0f7749432c Merge pull request #6412 from afabri/Triangulation_2-mark_domains-GF
Triangulation_2: Add CGAL::mark_domain_in_triangulation
2022-07-24 18:08:41 +02:00
Laurent Rineau 79e064c9cf Merge pull request #6692 from lrineau/CGAL-fix_cmake-GF
Cleanup CMake scripts
2022-07-24 18:08:38 +02:00
Laurent Rineau 1537d0f348 Merge pull request #6746 from efifogel/Aos_2-compare_y_at_x-efif
Aos 2 compare y at x efif
2022-07-24 18:08:32 +02:00
Laurent Rineau 415796acb6
Merge branch 'master' into Aos_2-compare_y_at_x-efif 2022-07-19 15:39:29 +02:00
Guillaume Damiand f2630fa4b9
Merge branch 'master' into CMap_index-gdamiand 2022-07-19 09:44:16 +02:00
Sébastien Loriot c1afb483f5 licence -> license 2022-07-19 09:04:19 +02:00
Laurent Rineau 4789fcc474
Merge branch 'master' into Triangulation_2-mark_domains-GF 2022-07-11 16:38:15 +02:00
Laurent Rineau fb896c0340
Update Installation/CHANGES.md
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2022-07-11 16:36:37 +02:00
Mael Rouxel-Labbé d07434708a Merge remote-tracking branch 'cgal/master' into CH2-Fix_bykat-GF 2022-07-11 09:39:45 +02:00
Mael Rouxel-Labbé 2d3f9ce723 Update changes.md 2022-07-11 09:36:20 +02:00
Efi Fogel 69b44d12f8 Merge branch 'master' into Aos_2-compare_y_at_x-efif 2022-07-10 16:00:10 +03:00
Efi Fogel 878139bd53 Added a comment about a fix for the "2D Arrangement" package 2022-07-10 15:57:37 +03:00
Sébastien Loriot e18878f5a0 Merge remote-tracking branch 'cgal/5.5.x-branch' 2022-07-08 20:28:04 +02:00
Sebastien Loriot 5188687b61
Merge pull request #6701 from sloriot/SLS-fix_offset_as_pwh
Fix exterior offset creation for a polygon with holes
2022-07-08 20:25:39 +02:00
Andreas Fabri e9410ba8a3
Apply suggestions from code review
although I am not sure about the past tense if I compare to other entries in the change log

Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2022-07-05 07:49:42 +02:00
Andreas Fabri cd506fa70d Document changes 2022-07-04 16:41:10 +01:00
Laurent Rineau 10f5fa4f1e Prepare CGAL-5.5 2022-06-29 14:52:29 +02:00
Sébastien Loriot 707b45cb5b Merge remote-tracking branch 'cgal/5.5.x-branch' 2022-06-29 10:48:00 +02:00
Laurent Rineau 755c9d5d42 Merge pull request #6646 from lrineau/Installation-optional_ASAN-GF
Use ASAN optionally
2022-06-29 09:52:15 +02:00
Laurent Rineau b58733a2fe Fix CHANGES.md 2022-06-29 09:22:00 +02:00
Sébastien Loriot 1a4a6816ac Merge pull request #6084 from janetournois/PMP-add_surface_mesher-jtournois
PMP - add surface remeshing from Mesh_3
2022-06-29 09:20:10 +02:00
Laurent Rineau 499b7794c9 Merge pull request #5693 from janetournois/Mesh_data_structure_3-new_package-jtournois
SMDS_3: Mesh_data_structure_3 - new package for C3T3
2022-06-29 09:14:38 +02:00
Guillaume Damiand caebf8ffa3 changes.md 2022-06-27 15:16:16 +02:00
Guillaume Damiand 8643eba75f
Update Installation/CHANGES.md
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2022-06-27 15:05:22 +02:00
Guillaume Damiand f6f88f794b Update changes.md 2022-06-27 14:50:24 +02:00
Sébastien Loriot 10fb4caaee update changes 2022-06-23 14:06:09 +02:00
Laurent Rineau ad54e34af1 `cmale_language(DEFER ...)` is actually from CMake 3.19 2022-06-21 21:59:55 +02:00
Laurent Rineau 266b0ae15a Fix the dependencies of CTest tests on compilation_of__CGAL_Qt5_moc_and_resources 2022-06-21 21:51:52 +02:00
Laurent Rineau a31a7b10eb use `cmake_language(DEFER CALL..)` instead of `variable_watch` 2022-06-21 20:59:18 +02:00
Laurent Rineau 5a038abf34 Fix a CMake bad code
https://cmake.org/cmake/help/latest/command/if.html#command:if
> `if(ENV{some_var})` will always evaluate to false.
2022-06-20 09:55:12 +02:00
Laurent Rineau 429c7646bd Fix typo 2022-06-20 09:37:10 +02:00
Laurent Rineau 94618865d4
typo
[skip ci]
2022-06-17 15:45:51 +02:00
Laurent Rineau 1ba31d6e3f Merge branch 'master' into Triangulation_2-mark_domains-GF
# Conflicts:
#	Installation/CHANGES.md
2022-06-17 11:00:12 +02:00
Sébastien Loriot 5fc4b4f3c4 Merge remote-tracking branch 'cgal/master' into HEAD 2022-06-16 13:33:54 +02:00
Laurent Rineau b99f1afac6 Disable TBB when ASAN is used 2022-06-15 16:05:10 +02:00
Laurent Rineau a844fde361 Move the change to 5.6 2022-06-13 16:29:00 +02:00
Laurent Rineau c132b6a11e Merge remote-tracking branch 'cgal/master' into Mesh_data_structure_3-new_package-jtournois 2022-06-13 16:26:34 +02:00
Laurent Rineau e5f1bae4ba Merge pull request #6649 from lrineau/fix_issue_6647
CGALConfig.cmake: Warn only if CGAL_TEST_SUITE is set and CGAL_DATA_DIR is not
2022-06-10 16:45:31 +02:00
Laurent Rineau 2e1c95d08f Merge pull request #6649 from lrineau/fix_issue_6647
CGALConfig.cmake: Warn only if CGAL_TEST_SUITE is set and CGAL_DATA_DIR is not
2022-06-10 16:44:15 +02:00
Sébastien Loriot 5746e59b34 Merge cgal/master 2022-06-08 23:13:25 +02:00
Jane Tournois d7759abbb7 add a hidden parameter to allow non-manifold vertices or edges
this is to be used only is advanced code that deals with invalid T3
2022-06-08 23:03:50 +02:00
Jane Tournois ea951db4ec keep on renaming TMDS_3 to SMDS_3 2022-06-08 22:57:25 +02:00
Jane Tournois f270dd3d44 more renaming 2022-06-08 22:57:25 +02:00
Jane Tournois 355b52d21f rename TMDS_3 to SMDS_3, end. 2022-06-08 22:57:25 +02:00
Jane Tournois abdf1bce22 Meael's review 2022-06-08 22:53:18 +02:00
Sébastien Loriot c8cbbbfb1d Merge cgal/master 2022-06-08 22:49:25 +02:00