Commit Graph

1640 Commits

Author SHA1 Message Date
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 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
Mael Rouxel-Labbé 9b265fddf8 Uniformize REQUIRED / QUIET usage:
Following this:
- CGAL: always REQUIRED
- CGAL component: COMPONENT / OPTIONAL_COMPONENT (never QUIET)
- required 3rd party: (not QUIET) + message(NOTICE "") on NOT_FOUND
- optional 3rd party: QUIET + message(STATUS "") except for Polyhedron/demo
- 3rd party components: COMPONENT / OPTIONAL_COMPONENT
                        (QUIET depending on required or optional 3rd party)
2022-09-06 16:24:27 +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
Sébastien Loriot 861588abe1 Merge 'sloriot/CGAL-std_type_traits' into master 2022-08-03 20:19:51 +02:00
Sébastien Loriot 1e857506c1 Merge remote-tracking branch 'cgal/5.5.x-branch' 2022-07-12 18:22:02 +02:00
Sébastien Loriot 12795ba29c Merge remote-tracking branch 'cgal/5.4.x-branch' into HEAD 2022-07-12 18:21:16 +02:00
Sébastien Loriot 45b5fd43f8 fix more warnings 2022-07-12 18:18:34 +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é 384cddadec Fix some result_types in projection traits 2022-07-05 10:11:44 +02:00
Mael Rouxel-Labbé 711d64674a Less_signed_... --> Compare_signed_... in CH3 adapters 2022-07-02 17:19:48 +02:00
Laurent Rineau 561cc66264 Backport the patch of pull request #6602 from lrineau/Triangulation_2-fix_cdt_2-GF
Try to fix CDT_2 with inexact construction of intersections
2022-06-29 12:30:35 +02:00
Laurent Rineau e1195a4229 Make public Exact_kernel and related types 2022-06-17 16:37:56 +02:00
Sébastien Loriot 5872413f37 remove boost is_same headers 2022-06-10 08:48:53 +02:00
Sébastien Loriot 3fa436459d BOOST_MPL_ASSERT -> static_assert 2022-06-10 08:46:01 +02:00
Sébastien Loriot ac8b6d4731 boost::is_same --> std::is_same 2022-06-10 08:18:20 +02:00
Sébastien Loriot 4f5f8341cc use std::enable_if_t 2022-06-10 07:37:53 +02:00
Sébastien Loriot 47d6b3a240 add barycenter functor 2022-06-05 19:06:23 +02:00
Laurent Rineau 258dd55c03 Make it work with the projection traits 2022-06-02 16:17:26 +02:00
Laurent Rineau 575f7a42fe Move exact_intersection_point back to CT_2 2022-06-01 20:31:22 +02:00
Laurent Rineau ffe675423f Merge branch 'master' into Triangulation_2-fix_cdt_2-GF 2022-06-01 15:15:18 +02:00
Laurent Rineau 53b4878a94 Use exact FT instead of exact Kernel 2022-05-31 18:09:00 +02:00
Laurent Rineau feaf6a4ca2 Add Kernel::Construct_exact_intersection_point_2 2022-05-31 16:40:34 +02:00
Sébastien Loriot ebf9fb025a Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-05-26 18:13:59 +02:00
Sébastien Loriot f29015ef1c please intel 2019 compiler 2022-05-25 00:22:24 +02:00
Sébastien Loriot 2b547ec58a Merge remote-tracking branch 'cgal/5.4.x-branch' 2022-05-13 17:26:04 +02:00
Sebastien Loriot 978d83a349
Merge pull request #6573 from sloriot/CGAL-pedantic_warnings
Fix pedantic warnings
2022-05-13 15:55:26 +02:00
Sebastien Loriot 269a391fa0
Merge pull request #6558 from lrineau/Installation-remove_wd4503-GF
CMake script updates: version of CMake and /wd4503 is only for MSVC 2015
2022-05-13 15:53:36 +02:00
Sebastien Loriot a9d03ba945
Merge pull request #6508 from albert-github/feature/bug_documentation_code
Documentation update in respect to code fragments
2022-05-13 15:49:24 +02:00
Sébastien Loriot 6486844750 fix pedantic warnings 2022-05-10 11:30:39 +02:00
Andreas Fabri 46d1aea329 Convex_hull_3: Use K::Boolean and not bool 2022-05-09 15:30:26 +01:00
Laurent Rineau 2288225448 Massive update of CMake policies to version 3.23 2022-05-06 09:34:35 +02:00
Laurent Rineau 97e99cbc22 Merge pull request #6487 from afabri/Filtered_kernel-fix_depth_bug-GF
Kernel_23: Fix depth() in Epeck
2022-04-27 16:32:08 +02:00
Laurent Rineau 288456950d Merge pull request #6488 from sloriot/ICC-workaround
Workaround issue with intel compiler
2022-04-27 16:32:06 +02:00
Laurent Rineau 1538fdbbbb Merge pull request #6488 from sloriot/ICC-workaround
Workaround issue with intel compiler
2022-04-27 16:30:53 +02:00
albert-github 461dba692d Documentation update in respect to code fragments
Update of documentation in respect of code fragments
- making code fragments work in footnotes
- placing some words in in code tags
- completing some words to code tags
- removing some `#` as they are not necessary
- don't show obfuscation code in email
2022-04-21 17:56:14 +02:00
Andreas Fabri 4b63716376 Add test file 2022-04-20 15:09:06 +01:00
Andreas Fabri 7dc7443e45 Add test of depth() 2022-04-20 12:48:28 +01:00
Sébastien Loriot cca0a1942f workaround issue with intel compiler
Cartesian_kernel/include/CGAL/Cartesian/Line_3.h(38): error: incomplete type is not allowed
      Point_3 first;
              ^
2022-04-12 16:14:39 +02:00
Andreas Fabri 9023aaa542 More code for ORIGIN 2022-04-07 10:39:01 +01:00
Laurent Rineau 9b39561825 Merge pull request #6399 from afabri/Kernel_23-overload_for_origin-GF
Kernel_23: Add Orientation_3::operator()(Origin,Point_3,Point_3,Point_3)
2022-03-30 09:23:32 +02:00
Sébastien Loriot 3a03201ff1 Merge pull request #6338 from MaelRL/PMP-Orient_PS_with_PS-GF
Add orient_triangle_soup_with_reference_triangle_soup()
2022-03-30 08:03:29 +02:00
Sébastien Loriot b9a14a447f Merge pull request #6426 from afabri/Kernel_23-Call_function_objects-GF
Kernel_23: Call function objects from CGAL::Segment_3
2022-03-29 17:47:06 +02:00
Sébastien Loriot 5e894656f5 Merge pull request #6422 from afabri/Nef_3-avoid_needless_tests-GF
Nef_3: Avoid needless tests
2022-03-29 17:46:42 +02:00
Sébastien Loriot 99f0598f3e Merge pull request #6378 from GilesBathgate/Nef_3-performance_sphere_circle-GilesBathgate
Nef_3: Sphere circle constructors.
2022-03-29 17:45:52 +02:00
Andreas Fabri 6251262a0a Merge branch 'Kernel_23-overload_for_origin-GF' into Nef_3-performance_sphere_circle-GilesBathgate 2022-03-18 12:46:20 +01:00
Andreas Fabri 71bba3e226 Add Plane_3 constructor with Origin/Vector_3 2022-03-17 22:35:09 +01:00
Andreas Fabri d39c7742f1 Kernel_23: Call function objects from CGAL::Segment_3 2022-03-17 12:14:43 +01:00
Andreas Fabri 6c66626cba int -> std::size_t 2022-03-16 08:01:56 +01:00
Mael Rouxel-Labbé 8d95d22a9e Tiny indentation fix 2022-03-15 00:46:39 +01:00
Giles Bathgate 8445780e09 Merge remote-tracking branch 'afabri/Kernel_23-overload_for_origin-GF' into Nef_3-performance_sphere_circle-GilesBathgate 2022-03-14 21:44:36 +00:00
Andreas Fabri c3ba0ab4a2 Fix the test code 2022-03-14 10:27:33 +01:00
Andreas Fabri 04fa75eb84 Use auto 2022-03-11 09:12:17 +00:00
Andreas Fabri 6e4483a7d0 The same for Construct_orthogonal_vector_3 2022-03-10 14:18:48 +00:00
Andreas Fabri f01e24c75b Add Orientation_3::operator()(Origin,Point_3,Point_3,Point_3) 2022-03-10 10:55:44 +00:00
Laurent Rineau 82bef3fc90 Merge pull request #6392 from CGAL/CGAL-doc_inter_do_inter
better reference Kernel intersection functions
2022-03-10 11:05:21 +01:00
Sébastien Loriot 943a506526 better reference Kernel intersection functions 2022-03-08 15:52:14 +01:00
Marc Glisse 7d4b9de66b
Consistent count in the doc
We already say 5 a few lines below.
2022-02-28 16:14:34 +01:00
Laurent Rineau f9c05a0ba1 Merge pull request #6253 from afabri/P2T2-assert-GF
CGAL:   In testcode do not use CGAL_assertion  but assert
2022-02-02 16:38:22 +01:00
Sébastien Loriot cd7b4ad610 WS 2022-01-28 16:56:21 +01:00
Sébastien Loriot 0da6999ee9 add missing test header 2022-01-28 16:44:04 +01:00
Sébastien Loriot d16dfc381e add Compare_angle_3 functor in the Kernel 2022-01-27 19:43:21 +01:00
Sébastien Loriot d228e994cf predicate requires only RT 2022-01-27 18:29:39 +01:00
Laurent Rineau a5a5a43205
Merge pull request #6120 from MaelRL/Kernel_23-Converter_fundamental_types-GF 2022-01-24 11:07:34 +01:00
Andreas Fabri e388c898cd Deal with Kernel_23 2022-01-18 16:39:43 +00:00
Sébastien Loriot ad686a61f7 fix conversion warning and remove useless test (producing a warning) 2022-01-18 09:30:41 +01:00
Mael Rouxel-Labbé 08f9cfb192 Update tests 2021-12-17 12:23:54 +01:00
Andreas Fabri 98debb9a33 Add to dependencies 2021-12-10 07:49:22 +00:00
Andreas Fabri 22db199519 Add \cgalModels 2021-12-08 14:51:12 +00:00
Andreas Fabri 49e086700e Fix links 2021-12-08 07:25:51 +00:00
Mael Rouxel-Labbé ea42eaea5d More tests 2021-12-03 16:49:50 +01:00
Laurent Rineau df777080ff Merge pull request #6102 from afabri/Kernel_23-Non_zero_dimension_3-GF
Kernel_23: Add NonZeroDimension_3
2021-11-18 14:02:07 +01:00
Mael Rouxel-Labbé 1774ad885f More converter tests 2021-11-16 16:39:20 +01:00
Mael Rouxel-Labbé a294ac30ed Tiny addition to converter tests 2021-11-12 10:51:40 +01:00
Mael Rouxel-Labbé 9f1fef3408 Add a test 2021-11-10 16:24:22 +01:00
Sébastien Loriot ab48f63e30 update latest cmake version tested 2021-11-09 10:58:47 +01:00
Sébastien Loriot 58181afcdb remove useless include directives 2021-11-09 10:16:12 +01:00
Andreas Fabri a24229a6b2 Use homogeneous coordinates 2021-11-04 15:46:45 +01:00
Andreas Fabri b079bec43d Document the Model 2021-11-03 21:52:42 +01:00
Andreas Fabri 4da8f4f5b2 Document the Model 2021-11-03 21:48:38 +01:00
Andreas Fabri 4b979cbfa7
Update Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2021-11-03 21:41:35 +01:00
Andreas Fabri d0ed65838e Fix interface_macros 2021-11-03 17:39:21 +01:00
Andreas Fabri 7cb53ab8ef Change to NonZeroCoordinateIndex 2021-11-03 17:30:26 +01:00
Andreas Fabri 727878e965 Make operator public 2021-11-01 16:58:59 +01:00
Andreas Fabri 9b11a6a382
Update Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2021-11-01 16:23:19 +01:00
Andreas Fabri 6913384dfe Document NonZeroDimension_3 2021-10-31 19:52:33 +01:00
Laurent Rineau 1fb32e70b4 Merge pull request #5978 from janetournois/Mesh_2-add_predicate_for_lloyd-jtournois
Mesh 2 and Kernel - add predicate oriented_side_2(segment, triangle)
2021-10-27 17:20:28 +02:00
Mael Rouxel-Labbé e424356ffa Add Construct_projected_point_3(P3, P3) + correct parameter order
Not a kernel requirement
2021-09-28 15:34:51 +02:00
Jane Tournois 2fbff6360c doc : add "model of" 2021-09-21 10:26:23 +02:00
Jane Tournois be2f8457d3 add Oriented_side_2 to Projection_traits_3 (for use in the demo) 2021-09-10 17:29:27 +02:00
Jane Tournois 9a56423274 document line orientation 2021-09-10 14:19:56 +02:00
Jane Tournois 99d944ef32 add doc for new predicate oriented_side_2(segment, triangle) 2021-09-10 11:58:15 +02:00
Mael Rouxel-Labbé 8a92d51601 Merge branch 'Distance_3-Add_Tri_Tri-GF-old' into Distance_3-Add_Tri_Tri-GF 2021-09-02 17:26:44 +02:00
Sebastien Loriot e5279db7fb
Merge pull request #5777 from MaelRL/AABB-Dont_call_global_do_intersect-GF
Misc fixes for Intersections_3 + related
2021-09-02 15:44:53 +02:00
Sébastien Loriot dacbd186d1 accomodate changes of internal -> Pkg/internal 2021-08-30 12:35:34 +02:00
Sébastien Loriot 4454c5b3ed Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-08-30 12:25:51 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Mael Rouxel-Labbé 1cbcc39370 Rename example to avoid conflicts 2021-08-26 11:15:36 +02:00
Mael Rouxel-Labbé 71d88536b8 Fix doc 2021-08-26 11:08:28 +02:00
Dmitry Anisimov 650fc04303 Merge remote-tracking branch 'origin/master' into Barycentric_coordinates_2-danston 2021-08-13 11:34:58 +02:00
Sebastien Loriot 8d8afe6870
Merge pull request #5737 from danston/Weights-new_package-danston
[Feature] Weights New Package
2021-08-12 10:48:03 +02:00
Sebastien Loriot 92d90a4a11
Merge pull request #5667 from afabri/Kernel-compare_slopes-GF
Kernel: Add compare_slope with 4 points
2021-08-12 10:12:26 +02:00
Maxime Gimeno f7df517f57 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-08-09 09:14:23 +02:00
Dmitry Anisimov 76050b2595 Merge remote-tracking branch 'origin/master' into Barycentric_coordinates_2-danston 2021-08-04 15:52:02 +02:00
Mael 5a30c321b8
Misc cleaning 2021-08-04 15:42:04 +02:00
Dmitry Anisimov 50157a7479 Merge remote-tracking branch 'origin/master' into Weights-new_package-danston 2021-08-04 15:12:04 +02:00
Andreas Fabri 2c1ad28853 Add the documentation of the global function 2021-07-28 12:18:26 +02:00
Laurent Rineau 04b690b099 Merge pull request #5736 from danston/Kernel_23-add_centroid_2_and_determinant_2-danston
Projection Traits With Centroid 2 and Determinant 2
2021-07-27 16:25:09 +02:00
Marc Glisse e7357ac003 Merge remote-tracking branch 'cgal/master' into mt-glisse
several PRs in Filtered_kernel conflicted with this :-(
2021-07-19 14:53:27 +02:00
Sebastien Loriot 40f507a1f1
Merge pull request #5800 from MaelRL/SS-Doc_fixes-GF
Harmonization of some IO stream documentation
2021-07-19 07:56:48 +02:00
Maxime Gimeno 83b69b5a98 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-07-08 11:33:42 +02:00
Laurent Rineau 529add28d3 Merge pull request #5538 from Dig-Doug/bbox-size
Bbox size helpers
2021-07-07 14:37:41 +02:00
Laurent Rineau 0f906ae606 Merge pull request #5545 from Dig-Doug/segment-midpoint
Segment_2/Segment_3 midpoint()
2021-07-07 14:37:38 +02:00
Dmitry Anisimov 22a08d06b7 added missing projection traits in ref manual 2021-07-01 11:36:21 +02:00
Dmitry Anisimov 9fe1c947ca removed tmp modifs 2021-06-29 13:31:56 +02:00
Dmitry Anisimov ca661e3eb7 added weights concept dependency to Kernel_23 2021-06-24 17:03:28 +02:00
Mael Rouxel-Labbé 78ff9185b3 Harmonize ASCII usage across all packages 2021-06-23 23:34:32 +02:00
Mael Rouxel-Labbé 084a1efe2d Merge remote-tracking branch 'cgal/master' into Distance_3-Add_Tri_Tri-GF 2021-06-23 22:30:03 +02:00
Mael Rouxel-Labbé 8de38803d4 Fix indentation 2021-06-23 17:40:15 +02:00
Dmitry Anisimov e6d3534d67 Merge remote-tracking branch 'origin/master' into Kernel_23-add_centroid_2_and_determinant_2-danston 2021-05-28 14:45:31 +02:00
Dmitry Anisimov 001da6cc21 Merge remote-tracking branch 'origin/master' into Weights-new_package-danston 2021-05-28 14:27:02 +02:00
Laurent Rineau 8fa0f55ac7
Merge branch 'master' into mt-glisse 2021-05-27 10:27:38 +02:00
Maxime Gimeno 2d5f91f763 Merge remote-tracking branch 'cgal/master' into T2-Document_projection_traits_3-maxGimeno 2021-05-27 09:06:59 +02:00
Marc Glisse 099fd7cb52 Move-construct kernel objects
This saves a Handle copy in Lazy_construction
2021-05-27 00:41:14 +02:00
Andreas Fabri 3ded9e10d0 Add unit test 2021-05-24 10:08:17 +02:00
Andreas Fabri ea647297b9 Kernel_23: Fix Non_zero_dimension 2021-05-22 16:21:49 +02:00
Dmitry Anisimov 8d6c8bda6e fixed typos and tested 2021-05-20 18:01:31 +02:00
Dmitry Anisimov cf7cba9f08 added embed for centroid object + tests 2021-05-20 17:44:53 +02:00
Dmitry Anisimov 9357545031 added construct_centroid_2 and compute_determinant_2 objects to the projection classes 2021-05-20 17:31:52 +02:00
Maxime Gimeno 75db0292f6 Rename internal classes 2021-05-19 09:25:13 +02:00
Laurent Rineau 4a2f016f6a Merge pull request #5617 from afabri/Nef_3-translation-GF
Nef_3: Add Aff_transformation_3::is_translation()
2021-05-18 18:14:17 +02:00
Maxime Gimeno 3795c5236a Changes after review 2021-05-18 10:16:24 +02:00
Sébastien Loriot 4e519a3c7a move documented IO functions in IO namespace 2021-05-05 13:15:37 +02:00
Andreas Fabri 431c0713b3 remove trailing whitespace 2021-05-03 16:37:16 +02:00
Andreas Fabri b2bb10710c untabify 2021-05-01 17:10:22 +02:00
Andreas Fabri 4e1ebec30a untabify 2021-05-01 17:04:52 +02:00
Andreas Fabri 20d1629e1b Add compare_slope with 4 points 2021-04-30 17:39:57 +02:00
Laurent Rineau c091c7f86e Merge pull request #5532 from lrineau/Kernel_23-Do_interesect__without_division-GF
Remove operator/ from CGAL::Mpzf and implement Do_intersect_3 with RT only (without division)
2021-04-28 15:24:15 +02:00
Andreas Fabri c238e9dab5 Merge remote-tracking branch 'cgal/master' into Nef_3-translation-GF 2021-04-27 15:23:56 +01:00
Andreas Fabri c7e4eaca7e fix doc 2021-04-23 11:50:26 +01:00