Commit Graph

1238 Commits

Author SHA1 Message Date
Sébastien Loriot 9179a2d41b fix conversion warning 2022-10-24 09:17:40 +02:00
Sébastien Loriot 2285a79148 fix warning 2022-10-21 09:31:03 +02:00
Sébastien Loriot 4ca779d991 fix warning 2022-10-20 11:22:40 +02:00
Sébastien Loriot 645e33aa56 fix warnings 2022-10-19 17:00:03 +02:00
Sébastien Loriot 40c1fdc03d use MSVC overload for everybody
clang master also have issue with the generic variadic versions
2022-10-18 06:05:13 +02:00
Andreas Fabri c04dceb71d Merge master 2022-10-14 14:40:58 +01:00
Andreas Fabri 469a0362b5 Take Laurent's review into account 2022-10-14 11:34:34 +01:00
Laurent Rineau b232f4bcfd Merge pull request #6942 from sloriot/CGAL-header_clean_up
Clean up in headers
2022-10-13 15:17:39 +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
Sébastien Loriot 56eb3c59e1 apply suggestions from review 2022-10-11 14:50:50 +02:00
Andreas Fabri def163afc2
Update STL_Extension/include/CGAL/assertions.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2022-10-07 14:25:18 +02:00
Andreas Fabri fa3f8a5872 Do the test if we want to assert at runtime only when CGAL_ENABLE_DISABLE_ASSERTIONS_AT_RUNTIME is defined 2022-10-07 11:21:02 +01:00
Sébastien Loriot f3d0d76f6b add or move include guards 2022-10-06 15:35:41 +02:00
Sébastien Loriot c0ff903d21 fix default values 2022-10-05 21:41:20 +02:00
Andreas Fabri 9b357c6aff Reintroduce the runtime switch to enable/disable assrtions 2022-10-04 10:35:05 +01:00
Sébastien Loriot fc4c86a491 try to work around MSVC 2015 bugs... 2022-09-30 15:54:30 +02:00
albert-github 39c752dfd1
Update STL_Extension/include/CGAL/In_place_list.h
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2022-09-29 10:32:10 +02:00
albert-github fea5528a5c STL_Extension: worng formulation of precondition
In  STL_Extension/classCGAL_1_1In__place__list.html we see the line:
```
Both lists are increasingly sorted. A suitable operator< for the type T
```
the word `increasingly` means `more and more`, though most likely `in increasing order` is meant here
2022-09-28 18:59:31 +02:00
Sébastien Loriot 54a6462273 move code so that we can reinject mesh_3 parameters functions into NFP class 2022-09-26 20:09:58 +02:00
Andreas Fabri d3fca65ae5 CGAL: No longer per package assertions 2022-09-23 12:49:40 +01:00
Mael Rouxel-Labbé 214e072959 Switch from RT_sufficient to FT_necessary 2022-09-22 12:02:53 +02:00
Sébastien Loriot 6b07cbdadd clean up Mesh_3 internal parameters 2022-09-21 15:45:14 +02:00
Sébastien Loriot c879db0bcd add a way to disambiguate template overloads for named parameters 2022-09-19 06:29:15 +02:00
Sébastien Loriot 0e62685f39 force images to be taken by reference 2022-09-16 14:36:06 +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
Sven Oesau 80eb8601e6
Merge branch 'CGAL:master' into Region_growing-revision-soesau 2022-09-02 16:42:41 +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 59566d3fd8 Merge pull request #6800 from sloriot/SMS-test_relax_order
SMS test relaxed order
2022-08-29 11:35:49 +02:00
GYuvanShankar 530d6e0f78 Fixed tests not running in Mesh_3 2022-08-23 14:58:15 +05:30
Sébastien Loriot d085d7b368 use macros for compatibility
internal code to be updated
2022-08-19 00:55:54 +02:00
Laurent Rineau d49ee20965
Merge pull request #6665 from sloriot/CGAL-std_type_traits 2022-08-17 13:56:54 +02:00
Sébastien Loriot ad6329c263 Merge 'cgal/master' into gsoc2022-boost_np 2022-08-16 17:52:18 +02:00
Sébastien Loriot 4143d143e0 fix assertion 2022-08-16 17:23:07 +02:00
Sébastien Loriot a1525c6367 remove duplicated parameter 2022-08-05 17:03:54 +02:00
Sébastien Loriot 313c38b050 restore np removed 2022-08-05 15:29:05 +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 e564f4eaa5 Merge remote-tracking branch 'cgal/master' 2022-08-02 12:05:51 +02:00
GYuvanShankar 1ee7340343 Removed np for mandatory param for certain fns 2022-07-27 20:16:47 +05:30
Sébastien Loriot 7d656a0a25 Merge remote-tracking branch 'sloriot/gsoc2022-boost_np' into HEAD 2022-07-27 09:24:08 +02:00
Sébastien Loriot 347a0220b3 restrict the parameter pack to Named_function_parameters 2022-07-26 18:02:33 +02:00
Sébastien Loriot b1ee7ba78e move outside experimental namespace with a better API and doc 2022-07-26 15:06:49 +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
GYuvanShankar 520545d543 Named parameter for mandatory parameters DRAFT 2022-07-19 13:10:35 +05:30
Sébastien Loriot b89bb215d3 WIP: removing InputRange from type definition 2022-07-18 18:04:45 +02:00
Sébastien Loriot 916e48284d add an extra overload of choose_parameter for dynamic property maps 2022-07-13 12:48:27 +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 6acb3a19fe actually the warning only shows up using clang 2022-07-12 18:18:34 +02:00
Sébastien Loriot 493795f95d also accomodate older versions of clang 2022-07-12 18:18:34 +02:00
Sébastien Loriot ad1e333538 handle older GCC versions 2022-07-12 18:18:34 +02:00
Sébastien Loriot ddd0e7dd47 the warning we are trying to work around is new and we need to ignore it on older compiler 2022-07-12 18:18:34 +02:00
Sébastien Loriot f7232499a1 use the correct warning... 2022-07-12 18:18:34 +02:00
Sébastien Loriot 3d03cbc519 workaround warning with gcc master 2022-07-12 18:18:34 +02:00
Laurent Rineau 4789fcc474
Merge branch 'master' into Triangulation_2-mark_domains-GF 2022-07-11 16:38:15 +02:00
Sven Oesau 5d5c380c66
Merge branch 'master' into Region_growing-revision-soesau 2022-07-06 15:20:11 +02:00
GYuvanShankar 4457b05350 Removed _new prefix from named parameters 2022-06-29 17:38:54 +05:30
Sébastien Loriot 707b45cb5b Merge remote-tracking branch 'cgal/5.5.x-branch' 2022-06-29 10:48:00 +02:00
Laurent Rineau 70caea9548 Merge pull request #6673 from afabri/STL_Extension-Skip_list_memory_leak-GF
STL_extension: Fix memory leak in Skiplist
2022-06-29 09:50:41 +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
GYuvanShankar 7a080f9b92 New API support and doc for Mesh_criteria_3.h 2022-06-29 12:28:41 +05:30
Andreas Fabri 718fdcfd44 STL_Extension: Fix comment in multiset 2022-06-27 17:47:49 +01:00
GYuvanShankar 60f7a5c7cf New API support and docs for Labeled_mesh_domain_3.h 2022-06-27 20:26:35 +05:30
Sven Oesau 17e0923058
Merge branch 'master' into Region_growing-revision-soesau 2022-06-24 11:06:56 +02:00
Sébastien Loriot c9c6b30cf0 Merge sloriot/CGAL-std_type_traits into master 2022-06-23 16:35:37 +02:00
GYuvanShankar 109d74466d New API support and docs for make_mesh_3.h 2022-06-21 14:11:49 +05:30
GYuvanShankar 93514bd826 New API support and doc for refine_mesh_3.h 2022-06-20 18:31:49 +05:30
GYuvanShankar 0af311c0b3 New API support and docs for perturb_mesh_3.h 2022-06-17 14:30:25 +05:30
Laurent Rineau 1ba31d6e3f Merge branch 'master' into Triangulation_2-mark_domains-GF
# Conflicts:
#	Installation/CHANGES.md
2022-06-17 11:00:12 +02:00
Andreas Fabri 34ad804065 Cleanup after Mael's code review 2022-06-16 14:46:36 +01:00
Andreas Fabri 393dc06bf8 STL_extension: Fix memory leak in Skiplist 2022-06-16 12:34:30 +01:00
Sébastien Loriot 5fc4b4f3c4 Merge remote-tracking branch 'cgal/master' into HEAD 2022-06-16 13:33:54 +02:00
GYuvanShankar 89c07e7718 New API support and doc for odt_optimize_mesh_3.h 2022-06-15 13:31:45 +05:30
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
Sébastien Loriot b96f6d5ce9 move is_iterator to type_traits 2022-06-10 09:43:59 +02:00
Sébastien Loriot 44250cb019 is_iterator_XXX<>::value --> is_iterator_XXX_v<> 2022-06-10 09:40:29 +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
GYuvanShankar e6619ab67b Provided new API support for exude_mesh_3 2022-06-09 14:25:33 +05:30
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 355b52d21f rename TMDS_3 to SMDS_3, end. 2022-06-08 22:57:25 +02:00
Jane Tournois ad13062bbf move subdomain indices to a named parameter 2022-06-08 22:53:18 +02:00
Sébastien Loriot c8cbbbfb1d Merge cgal/master 2022-06-08 22:49:25 +02:00
Sébastien Loriot 6869bddeaa add a named parameter to avoid flipping high triangles 2022-06-07 16:29:16 +02:00
Sébastien Loriot 046f1db10a function call is also working now! 2022-06-05 00:45:34 +02:00
Sébastien Loriot 111d33bfd2 alternative version to use the boost parameter API 2022-06-04 13:58:37 +02:00
Sébastien Loriot 18039c7a71 add overload using named function parameters
freeze_bound is still commented for now as the conflict with
boost parameters must be handled
2022-06-04 13:56:45 +02:00
Jane Tournois 86c9a35c15 Merge remote-tracking branch 'cgal/master' into PMP-add_surface_mesher-jtournois 2022-06-02 08:25:30 +01:00
Andreas Fabri 1afc3cc099 resolve merge conflict 2022-05-18 07:20:41 +01:00
Sébastien Loriot 3c466769c7 add function named parameters in Mesh_2 2022-05-16 17:24:27 +02:00
Jane Tournois c21fe46525 Merge remote-tracking branch 'cgal/master' into PMP-add_surface_mesher-jtournois
# Conflicts:
#	Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
#	Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt
2022-04-29 10:48:08 +02:00
Mael Rouxel-Labbé 477353d5eb Merge parameters::Is_default and parameters::is_default_parameter 2022-04-20 16:01:02 +02:00
Laurent Rineau 7d9427b17e
Merge branch 'master' into AW3-New_package-GF 2022-04-11 17:19:47 +02:00
Mael Rouxel-Labbé 87233c633f Add two functions to use pairing-heap modifiable PQ with no known largest ID 2022-04-04 11:33:27 +02:00
Mael Rouxel-Labbé a40a7572ac Add Alpha_wrap_3 2022-04-04 11:33:27 +02:00
Sébastien Loriot 1dd4b8462f Merge remote-tracking branch 'sloriot/PMP-relax' 2022-03-31 16:47:06 +02:00
Sébastien Loriot 7ab2c079b3 add an option to forbid some moves 2022-03-23 23:53:00 +01:00
Mael Rouxel-Labbé 74233ddc36 Remove unnecessary assertions 2022-03-18 09:01:09 +01:00
Mael Rouxel-Labbé 27ba7b6ba5 Various fixes for Modifiable_priority_queues (mostly pairing_heap) 2022-03-17 23:52:05 +01:00
Laurent Rineau 208b286457 Merge pull request #6380 from sloriot/PMP-hole_filling_skip_cubic_search_space
PMP hole filling: Add an option to only use Delaunay based versions
2022-03-10 11:05:30 +01:00
Sébastien Loriot 7d17b22a7c add an option to only use Delaunay based versions 2022-03-04 07:05:05 +01:00
Erwan Jacq da936f5b8b pedantic changes 2022-02-25 11:39:02 +01:00
Laurent Rineau 258d704a90 Merge pull request #6209 from sloriot/PMP-std_instead_of_boost
Use features available in std instead of boost
2022-02-24 19:57:17 +01:00
Sébastien Loriot 697e1abbc9 add hash function for CGAL vector container 2022-02-24 11:49:02 +01:00
Laurent Rineau d78a7b9255 Merge pull request #6302 from afabri/P2T2-assert-GF
CGAL: In testcode do not use CGAL_assertion but assert
2022-02-08 23:44:24 +01:00
Sébastien Loriot 4ffc949199 replace boost::unordered by std::unordered
but in T3, Mesh_3, TDS_3, P3[TM]3
2022-02-03 19:11:12 +01:00
Andreas Fabri 440a8dfb7b Fix file name 2022-02-03 08:41:04 +00:00
Andreas Fabri 735752bec9 Do the remaining changes after Laurent's check 2022-02-03 08:02:11 +00:00
Sébastien Loriot 7c8ca39799 add named parameter + use cosinus value directly 2022-01-28 14:42:49 +01:00
Sébastien Loriot 475cab49e4 Merge remote-tracking branch 'danston/Region_growing-revision-danston' into HEAD 2022-01-21 13:39:25 +01:00
Sébastien Loriot 11c7c56718 Merge remote-tracking branch 'cgal/master' into HEAD 2022-01-18 09:11:52 +01:00
Sébastien Loriot 10b0af3092 rename macro since Named_function_parameter is part of STL_Extension 2022-01-13 14:43:34 +01:00
Sébastien Loriot c169c41240 Merge remote-tracking branch 'maxGimeno/PMP-Example_of_new_mp_function-maxGimeno' into HEAD 2022-01-12 13:33:49 +01:00
Sébastien Loriot 4fa826b3ed keep only the static version of is_default_parameter 2022-01-10 18:36:37 +01:00
Sébastien Loriot 75b03e6c0a use_default_values() -> default_values() 2022-01-10 18:36:37 +01:00
Sébastien Loriot 6d3176e061 move Named_parameters class in STL_extension
helpers stay in BGL because it depends on BGL tags
2022-01-07 15:12:22 +01:00
Sebastien Loriot bd6408a772
Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2021-12-17 10:17:13 +01:00
Sébastien Loriot 0183aac332 plug pairing_heap with result of runtime of other heaps
also add reserve
2021-12-01 10:37:47 +01:00
Sébastien Loriot 49b530461e add version using boost::heap::fibonacci_heap 2021-11-30 18:26:56 +01:00
Sébastien Loriot 57f8e3d7c7 make the relaxed heap selectionnable using a template parameter 2021-11-30 17:49:48 +01:00
Sébastien Loriot e674e5f663 move implementation in dedicated header 2021-11-30 16:03:07 +01:00
Sébastien Loriot c61fdb831b remove the handle
it is not needed as the id map is used to store handles
2021-11-30 13:49:39 +01:00
Sébastien Loriot f26de8e819 use the container in STL_extension and not the internal one 2021-11-30 13:20:15 +01:00
Laurent Rineau e683686055 Merge pull request #6094 from sloriot/AOS_2-remove_fast_pool_allocator
Fix issues with new containers for arrangement cells

# Conflicts:
#	Arrangement_on_surface_2/include/CGAL/Arr_dcel_base.h
2021-11-18 12:31:39 +01:00
Sébastien Loriot 9ad2991483 same change for CCC 2021-11-04 16:27:05 +01:00
Sébastien Loriot 4788732815 speed up begin() in case the container is empty but freelist is not 2021-11-04 15:16:22 +01:00
Sébastien Loriot 2d9280ec96 do not modify CGAL_assume 2021-10-27 16:09:32 +02:00
Sébastien Loriot 85c00352c3 separate macros and macro function 2021-10-27 16:01:19 +02:00
Sébastien Loriot 604d2fd1ff direct definition
the extra if was generating fallthru warnings
2021-10-27 15:19:05 +02:00
Sébastien Loriot d370326ec1 add CGAL_unreachable as requested by @lrineau and @mglisse 2021-10-27 14:45:10 +02:00
Laurent Rineau 1ba982096a Merge pull request #5094 from sgiraudot/Boolean_operations-Use_GPS_based_polylines-GF
[Small Feature] Boolean Operations: Use polyline-based GPS
2021-10-07 14:27:23 +02:00
Laurent Rineau fb9333f0d0 Merge pull request #6028 from MaelRL/CGAL-Fix_typos-GF
Fix typos
2021-10-07 14:27:21 +02:00
Laurent Rineau a5e3469e78 Merge pull request #6011 from janetournois/Mesh_3-prevent_bad_initialization-jtournois
Mesh_3 - warning message after bad initialization
2021-10-06 12:04:54 +02:00
Mael Rouxel-Labbé 521c72d57e Fix typos 2021-10-04 13:34:07 +02:00
Jane Tournois bca05c8d67 add header inclusion protection 2021-09-24 11:14:01 +02:00
Andreas Fabri 15d788ef29 Remove commented code section which contains a call to memset() 2021-09-23 16:57:34 +02:00
Sébastien Loriot 36249c0fa0 Merge remote-tracking branch 'cgal/master' into HEAD 2021-09-23 11:07:06 +02:00
Sébastien Loriot a93dda81cd Merge pull request #5935 from janetournois/CGAL-fix_warnings_c++20-jtournois
Fix warnings for C++20
2021-09-10 17:43:47 +02:00
Sebastien Loriot 4610cf3c66
Merge pull request #5904 from sloriot/CGAL-remove_config_flags
Replace macros with inline functions and remove a config flag
2021-09-10 17:38:50 +02:00
Sébastien Loriot c04f88368f static_assert is not affected by NDEBUG 2021-09-08 10:38:21 +02:00
Sébastien Loriot f11cd9098a restore include statement 2021-09-03 09:32:58 +02:00
Sébastien Loriot 288c283784 TBB_IMPLEMENT_CPP0X is always 0 when using c++14 2021-08-30 19:24:59 +02:00
Sébastien Loriot 358420e6ca fix CGAL_AND/CGAL_OR implementation using a lambda
Thanks to @mglisse for the trick
2021-08-30 18:57:55 +02:00
Jane Tournois 959c17af43 fix duplicate input 2021-08-26 17:32:19 +02:00
Sébastien Loriot 4ea7b65a24 manual move for boost headers 2021-08-26 11:42:01 +02:00
Sébastien Loriot 98e471849b moving files from internal to PKG/internal 2021-08-26 11:33:39 +02:00
Jane Tournois 392730fe68 boost/iterator.hpp is deprecated in favor of <iterator> 2021-08-25 16:53:00 +02:00