Commit Graph

101743 Commits

Author SHA1 Message Date
Laurent Rineau a46a6db2bb Allow to use test_RT_or_FT_predicates with ninja, and ctest 2022-10-14 12:15:48 +02:00
Mael Rouxel-Labbé 10eb694d38 Replace if constexpr with C++14 compatible code 2022-10-13 23:11:05 +02:00
Mael Rouxel-Labbé f83b970461 Add a comment explaining the purpose of atomic_compilation_test.cpp 2022-10-13 21:24:05 +02:00
Laurent Rineau 3745073df6 Fix a compilation error 2022-10-13 18:25:58 +02:00
Mael Rouxel-Labbé 73de5e49f4 Remove unnecessary include 2022-10-12 21:32:30 +02:00
Mael Rouxel-Labbé 296d9e5cc0 Update RTFT test 2022-10-12 21:28:40 +02:00
Mael Rouxel-Labbé 2c23a6d5c5 Revert back to wrapping result_type to distinguish FT-necessary operator()s 2022-10-12 21:24:59 +02:00
Laurent Rineau 9d40a225ff
Update Kernel_23/test/Kernel_23/Filtered_cartesian.cpp 2022-09-23 15:32:52 +02:00
Mael Rouxel-Labbé f417495a0e Handle deleted functions in RT/FT test 2022-09-23 11:35:29 +02:00
Mael Rouxel-Labbé d0fe75e908 Add missing FT_necessary tags 2022-09-23 11:35:12 +02:00
Mael Rouxel-Labbé 24067447af Make some predicates division-free 2022-09-23 11:34:49 +02:00
Mael Rouxel-Labbé 3529588796 Partial revert of 7c92341be7 (no C++17) 2022-09-22 21:41:02 +02:00
Mael Rouxel-Labbé ae30bcf819 Remove obsolete RT/FT tests 2022-09-22 12:25:25 +02:00
Mael Rouxel-Labbé c93e33c731 Misc minor cleaning/improvements to RT|FT kernel test 2022-09-22 12:06:09 +02:00
Mael Rouxel-Labbé 873cc884b5 Get rid of _RT / _RT_FT kernel interface macros 2022-09-22 12:03:25 +02:00
Mael Rouxel-Labbé 214e072959 Switch from RT_sufficient to FT_necessary 2022-09-22 12:02:53 +02:00
Mael Rouxel-Labbé 01af5bce52 Add an automatic test to detect correct presence/absence of RT_sufficient 2022-09-21 15:03:09 +02:00
Laurent Rineau 04a7b31a07 WIP: test one predicate with a set of arguments with RT 2022-09-15 16:06:28 +02:00
Laurent Rineau a267cee598 Avoid one intermediate call to the global (non-internal) function 2022-09-15 16:05:35 +02:00
Laurent Rineau 36c0a779d7 WIP: how to detect the arity of a predicate 2022-09-14 15:10:49 +02:00
Laurent Rineau f52298a8c5 WIP: try to always use Filtered_predicate_RT_FT 2022-09-08 17:30:14 +02:00
Laurent Rineau 8521c44c6f Add a constexpr, because I can 2022-09-07 15:10:39 +02:00
Laurent Rineau 03b1501508 Merge branch 'Kernel-Compare_distance_3_RT_FT-GF' into Kernel-Compare_distance_3_RT_FT__new_proposal-GF 2022-09-07 14:49:45 +02:00
Laurent Rineau dcca65b740 Spelling typo 2022-09-07 14:48:45 +02:00
Laurent Rineau 4b660d9ec9 Another proposal for Filtered_predicate_RT_FT
Instead of having the return type wrapped in a `Needs_FT` tag,
not the call operator overloads that can be called with `RT` are
"tagged" by adding a last argument of type `RT_sufficient` with a
default value.
2022-09-07 11:10:13 +02:00
Laurent Rineau 1e485113e8 Add an important comment 2022-09-07 10:30:01 +02:00
Laurent Rineau 81410701f7 Factorize the test "needs_ft" into a meta-function 2022-09-06 17:25:39 +02:00
Laurent Rineau b114789abf Fix spelling 2022-09-06 13:56:31 +02:00
Laurent Rineau 2923eff641 Fix a warning `-Wnull-pointer-subtraction`
https://clang.llvm.org/docs/DiagnosticsReference.html#wnull-pointer-subtraction
2022-09-02 11:33:07 +02:00
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
Laurent Rineau 585d0dc3dd Merge branch '5.5.x-branch' 2022-08-29 11:36:14 +02:00
Laurent Rineau c96f5ddfe4 Merge pull request #6795 from albert-github/feature/bug_obsolete_transparent
Obsolete doxygen settings
2022-08-29 11:35:52 +02:00
Laurent Rineau 59566d3fd8 Merge pull request #6800 from sloriot/SMS-test_relax_order
SMS test relaxed order
2022-08-29 11:35:49 +02:00
Laurent Rineau 07a8602183 Merge pull request #6801 from albert-github/feature/bug_divider_colortype
Divider between treeview and text
2022-08-29 11:35:44 +02:00
Laurent Rineau 9e74cfc1df Merge pull request #6802 from lrineau/PSP_3-fix__test_read_write_point_set-GF
PSP_3: Fix test_read_write_point_set
2022-08-29 11:35:39 +02:00
Laurent Rineau 6df5509134 Merge pull request #6803 from afabri/Polyhedron_demo-visible_after_boolean-GF
Polyhedron Demo: Make input invisible after Boolean operation
2022-08-29 11:35:35 +02:00
Laurent Rineau 8a12615cce Merge pull request #6800 from sloriot/SMS-test_relax_order
SMS test relaxed order
2022-08-29 11:33:18 +02:00
Andreas Fabri 834c93af05 Inflate only if a single item is selected 2022-08-19 10:58:09 +01:00
Andreas Fabri 3bd82bcda1 spliited -> split 2022-08-17 19:58:00 +01:00
Andreas Fabri abb0cebcfe Polyhedron Demo: Make input invisible after Boolean operation 2022-08-17 19:49:06 +01:00
Laurent Rineau 3668ca16b2 Fix test_read_write_point_set
The LAS format, even binary, is not an exact representation.
The coordinates are encoded using and offset and a scaling, for each
coordinate.

In `write_LAS_with_properties()`, Simon has hard-coded:
```
  LASheader header;
  header.x_scale_factor = 1e-9 * (bbox.xmax() - bbox.xmin());
  header.y_scale_factor = 1e-9 * (bbox.ymax() - bbox.ymin());
  header.z_scale_factor = 1e-9 * (bbox.zmax() - bbox.zmin());
  header.x_offset = bbox.xmin();
  header.y_offset = bbox.ymin();
  header.z_offset = bbox.zmin();
```
So, the approximate comparison of coordinates, for the I/O test,
should compare using about the same precision.
2022-08-17 17:21:05 +02:00
Laurent Rineau d49ee20965
Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
albert-github e1a5a3cd1d Divider between treeview and text
In doxygen the setting `HTML_COLORSTYLE` has been introduced with as default `AUTO_LIGHT` but due to the current strategy of CGAL in respect to HTML stylesheets the divider between the treeview and the text is not properly  visible anymore. Due to the same strategy the setting to `AUTO_LIGHT` does not make sense for CGAL.
When setting `HTML_COLORSTYLE=LIGHT` the divider is properly visible again.
2022-08-17 12:30:35 +02:00
Sébastien Loriot 6d3e8daa9c test relaxed order 2022-08-16 17:30:40 +02:00
Sébastien Loriot 4143d143e0 fix assertion 2022-08-16 17:23:07 +02:00
albert-github d1895dce99 Obsolete doxygen settings
In the current master the settings `DOT_TRANSPARENT` and `FORNULA_TRANSPARENT` are obsolete.
2022-08-11 13:42:49 +02:00
Sébastien Loriot 9dd8235dc5 more workarounds for MSVC 2015
[skip ci]
2022-08-10 23:50:39 +02:00
Sébastien Loriot 098ca52aff Merge remote-tracking branch 'cgal/5.5.x-branch' 2022-08-10 18:39:17 +02:00
Sébastien Loriot 601bd64dc8 Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-08-10 18:38:50 +02:00
Sebastien Loriot 3ad379bae6
Merge pull request #6787 from sloriot/CGAL-warnings
Fix warnings
2022-08-10 18:37:55 +02:00