Commit Graph

1841 Commits

Author SHA1 Message Date
Laurent Rineau fd0dfc6f24 Merge pull request #8008 from afabri/Kernel_23-squared_length-GF
Kernel_23:  Add function squared_length()
2024-02-22 10:23:04 +01:00
Andreas Fabri 4b574dca8e Add tests 2024-02-14 11:43:34 +00:00
albert-github a41564060d Incorrect layout bisector precondition
On the page Kernel_23/group__bisector__grp.html we see for `bisector` with the `Point_3` type arguments in the precondition:
```
‘p != q’
```
instead of
```
p != q
```
due to the fact that there is not a backtick but a single quote as closing part
2024-02-03 17:49: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
Andreas Fabri e3ee999024 fix grp 2024-01-29 16:26:29 +00:00
Andreas Fabri 276857a49c fix grp 2024-01-29 16:22:20 +00:00
Andreas Fabri ab19b99105 Kernel_23: Add function squared_length() 2024-01-29 16:16:17 +00:00
Mael Rouxel-Labbé f9858e53db Fix location of doc image 2024-01-23 21:50:04 +01:00
Mael Rouxel-Labbé 984a541006 Fix usages of 'th `th 2024-01-23 21:50:04 +01:00
Sebastien Loriot 128b169b24
Fixes when neither LEDA nor GMP is available (#7960) 2024-01-19 13:57:12 +01:00
Andreas Fabri a783412ba7 Use structural filtering for the fixed projection traits classes 2024-01-19 11:51:54 +01:00
Laurent Rineau 11fc1943fb Merge branch '5.5.x-branch' into 5.6.x-branch 2024-01-11 12:44:54 +01:00
Mael Rouxel-Labbé d483b3bdfd Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-01-09 13:52:46 +01:00
Laurent Rineau 3607dc8d0c Merge pull request #7953 from sloriot/Kernel_23-remove_unused_var
Remove unused variable
2024-01-08 10:59:12 +01:00
Sébastien Loriot 3a8ced2ec9 skip if neither core nor leda are present 2024-01-03 18:18:42 +01:00
Sébastien Loriot eed5e4f61f move comment 2024-01-02 13:15:28 +01:00
Sébastien Loriot a4ba059221 remove unused variable 2024-01-02 09:34:07 +01: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 6eff89bbc8 Merge pull request #7614 from sloriot/PMP-BF_autorefine
Add autorefine for triangle soup
2023-12-26 12:11:04 +01:00
Sébastien Loriot 89d3d74865 Merge remote-tracking branch 'cgal/5.6.x-branch' 2023-12-18 13:31:48 +01:00
Sébastien Loriot ee1fa58406 Merge remote-tracking branch 'cgal/5.5.x-branch' 2023-12-18 13:31:06 +01:00
Sebastien Loriot 00f0c85499
Kernel_23: Deal with concurrent executions and IO (#7921)
## Summary of Changes

Write and read back in a `std::stringstream` to avoid simultaneous IO on
the same file name.
Error seen in this
[testsuite](https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-6.0-Ic-124/Circular_kernel_2/TestReport_gimeno_ArchLinux-clang-CXX17-Release.gz).

## Release Management

* Affected package(s):  Kernel_23, Circular_kernel_2
* License and copyright ownership: unchanged
2023-12-18 13:25:36 +01:00
Laurent Rineau 9a944e563c Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine
# Conflicts:
#	Installation/CHANGES.md
#	Polygon_mesh_processing/examples/Polygon_mesh_processing/CMakeLists.txt
2023-12-13 15:57:30 +01:00
Laurent Rineau e2a745f79f Merge pull request #7892 from sloriot/CGAL-fix_dh_angle_sign
fix dihedral angle computation
2023-12-11 13:56:02 +01:00
Laurent Rineau 4be3a1e589 Merge pull request #7892 from sloriot/CGAL-fix_dh_angle_sign
fix dihedral angle computation
2023-12-11 13:50:38 +01:00
Andreas Fabri f4154836ae Kernel_23: Deal with concurrent executions and IO 2023-12-11 08:35:02 +00:00
Sébastien Loriot d75e4f2f54 Merge remote-tracking branch 'cgal/master' into PMP-BF_autorefine 2023-12-08 13:26:06 +01:00
Sebastien Loriot 9822b6b085
protect from macro substitution
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2023-11-30 09:20:53 +01:00
Laurent Rineau 46877d4134 fix two typos 2023-11-29 15:34:36 +01:00
Laurent Rineau df4eed9302 add tests for the dihedral angle 2023-11-29 15:27:57 +01:00
Sébastien Loriot 4bed66e82f fix description 2023-11-29 13:17:10 +01:00
Sébastien Loriot 5879bb72c6 add comments about the formula 2023-11-29 13:11:21 +01:00
Sébastien Loriot 0e3f3a33d1 test to be fixed --> tetra orientation is 0 2023-11-29 12:27:34 +01:00
Sébastien Loriot 0145bafbc5 update formula
will add comments in a upcoming commit
2023-11-29 12:22:46 +01:00
Sébastien Loriot 6b570f767e fix sign 2023-11-28 18:10:32 +01:00
Sébastien Loriot 87b8695d8d Merge remote-tracking branch 'cgal/master' 2023-11-27 14:42:00 +01:00
Andreas Fabri 0acea19e20 Fix Kernel_23 2023-10-17 15:30:57 +01:00
Andreas Fabri fb4095a054 Partial fix of Kernel_23 2023-10-17 15:18:55 +01:00
Sébastien Loriot fbd24d665d add version for Point_2/Vector_2 2023-10-09 12:30:37 +02:00
Sébastien Loriot 8700394122 boost::mpl::if_ -> std::conditional 2023-09-24 22:57:20 +02:00
Laurent Rineau 46923342ad Merge pull request #7576 from albert-github/feature/issue_7395
issue #7395 Improvement of layout of model relations

# Conflicts:
#	Kernel_23/doc/Kernel_23/CGAL/Vector_2.h
2023-09-07 10:48:34 +02:00
Laurent Rineau 6ce966767b Merge pull request #7660 from afabri/Arrangement-typo-GF
Arrangement: small doc fixes
2023-09-07 10:46:26 +02:00
Laurent Rineau eb70c2f310 Merge pull request #7650 from sloriot/K23-compare_dihedral_angle_deg_tet
Be more permissive in Compare_dihedral_angle_3
2023-08-28 15:45:12 +02:00
Laurent Rineau ef998bded5 Merge pull request #7650 from sloriot/K23-compare_dihedral_angle_deg_tet
Be more permissive in Compare_dihedral_angle_3
2023-08-28 15:43:59 +02:00
Sébastien Loriot 49d6821d9b accomodate update to c++17 STL 2023-08-28 13:51:57 +02:00
Sébastien Loriot a528464f31 Merge branch 'cgal/master' into PMP-BF_autorefine 2023-08-28 13:44:44 +02:00
Andreas Fabri 55ea7ba7ec More fixes 2023-08-22 10:21:46 +01:00
Sebastien Loriot f879c68155
Test earlier
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2023-08-21 11:32:12 +02:00
albert-github 93001308f4 Merge branch 'master' into feature/issue_7395
# Conflicts:
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementPointLocation_2.h
#	Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/ArrangementVerticalRayShoot_2.h
2023-08-18 11:10:42 +02:00
Sébastien Loriot 73cf624d0f be more permessive
do not throw an error but return SMALLER
The collinearity check being already do in the predicate it
would be more expensive to do it also before calling the
predicate
2023-08-16 09:59:44 +02:00
Sébastien Loriot 99066b4363 hide unused type 2023-08-09 08:59:26 +02:00
albert-github 32054661c7 issue #7395 Improvement of layout of model relations
Replacing the `cgalModelsBare` construct with a `begin` / `end` construct so no less understandable constructs with `\,` and `\n` are necessary.
2023-07-21 19:21:09 +02:00
albert-github ad41766454 issue #7395 Improvement of layout of model relations
Corrected `cgalModels` to `cgalHasModes` inside `cgalHasNodelsBegin` / `cgalHasModelsEnd`
2023-07-18 13:23:37 +02:00
albert-github 4e5578d469 issue #7395 Improvement of layout of model relations
- based on review
2023-07-15 13:12:15 +02:00
albert-github 301728a8a9 issue #7395 Improvement of layout of model relations
- Completed the cgalModels part
2023-07-09 12:43:36 +02:00
albert-github ee2a55279d issue #7395 Improvement of layout of model relations
- Completed the cgalHasModel part
- corrected spelling of `Has Model` and `Is Model Of` to `Has model` and `Is model of`
2023-07-06 17:35:34 +02:00
Sébastien Loriot bab2c72674 add functor to compute intersection point of coplanar segments 2023-07-06 16:53:51 +02:00
Sébastien Loriot a8a3d8ab36 add functor to compute the intersection of 3 independant planes 2023-07-06 15:39:08 +02:00
Sébastien Loriot b86a1fed32 Merge remote-tracking branch 'sloriot/PMP-BF_autorefine' into PMP-BF_autorefine 2023-07-05 17:59:29 +02:00
Sébastien Loriot b66afab814 Merge remote-tracking branch 'sloriot/CGAL-using_c++17_stl' into HEAD 2023-07-05 11:29:35 +02:00
Sébastien Loriot dfc386d65b Merge branch 'master' into HEAD 2023-06-22 14:05:45 +02:00
Sébastien Loriot 0ee31a5d4f remove extra parenthesis 2023-06-19 19:17:49 +02:00
Sébastien Loriot f936680600 Merge remote-tracking branch 'cgal/master' into HEAD 2023-06-15 18:48:39 +02:00
Sébastien Loriot 9cdfe70abb Merge remote-tracking branch 'sloriot/CGAL-toward_6.0' 2023-06-15 11:34:09 +02:00
Sébastien Loriot 9a0bdb5d96 boost::variant ---> std::variant 2023-06-15 10:57:10 +02:00
Sébastien Loriot 604dcdc435 boost::optional => std::optional 2023-06-15 10:57:09 +02:00
Sébastien Loriot bbc4d08ee0 Merge remote-tracking branch 'cgal/master' into HEAD 2023-06-15 10:47:07 +02:00
Sébastien Loriot c8a88b9014 remove CGAL_static_assertion* 2023-06-15 10:42:10 +02:00
Sébastien Loriot 003bf47781 move alpha computation into a functor 2023-06-08 14:05:09 +02:00
Sebastien Loriot b1b02d64fe
P3M3: Non-cubic domains, fixes, improvements (#7062)
## Summary of Changes

- Add a dummy point generator that is agnostic to the periodic domain's
geometry, allowing P3M3 to handle non-cubic domain.
- Add an example of P3M3 running on polyhedral domains.
- Fix a few issues in SMDS_3's tet soup reading relating to
non-manifoldness + general IO code speed improvements.
- Fix a few issues in P3M3's medit output and always duplicate facets to
reduce the quantity of non-manifoldness occurences.
- Fix an issue with including Mesh_3 headers before P3M3's.
- Fix periodic point projection (for Mesh_3 optimizers) badly computing
the projection direction
- Robustify a handful of P3M3 functions that were using intermediate
constructions rather than the <Point, Offset> API (which uses filtered
predicates and thus yields proper robustness)
- Misc minor code cleaning / modernization

ToDo:
- [x] Check if some medit IO issues are fixed
- [x] Add non-manifoldness flag to read_MEDIT
- [x] Fix value of orthosphere_radius_threshold
- [x] Check calls of insert_dummy_points() (use generic)
- [x] Check doc of P3M3 about cubic domains requirement

Not done:
- [ ] Fix sharp features for periodic polyhedral domains (problems due
to changing weights creating cover change...). Code:
https://gist.github.com/MaelRL/357c52dc04e16a162f13a3c6860a1398; WIP
diff: https://gist.github.com/MaelRL/f98809964acffbacb6d3f42793e2654e

## Release Management

* Affected package(s): `Mesh_3`,  `P3M3`, `P3T3`, `SMDS3`
* Issue(s) solved (if any): Fix #6997, Fix #7214
* Feature/Small Feature (if any): TODO
* License and copyright ownership: no change
2023-05-30 19:13:45 +02:00
Sebastien Loriot 11b92e94f8
Add an alternative of Mpzf using boost cpp_int (#7191)
## TODO:
- [x] branch size
- [x] boost backend should not be the default in 5.6
2023-05-22 09:23:35 +02:00
Sébastien Loriot 39e6369d39 add missing FT and typename 2023-05-12 10:32:54 +02:00
Andreas Fabri 9924814e77 Fix construction of Iso_rectangle/cuboid from Bbox 2023-05-12 08:07:08 +01:00
Sébastien Loriot 4e8259e309 use Exact_integer/Exact_rational 2023-05-11 16:59:46 +02:00
Mael 532b82cb9b
Merge branch 'master' into P3M3-Undocumented_polyhedral_domain_example-GF 2023-05-04 17:28:47 +02:00
Laurent Rineau d2bc415a15 Merge pull request #6950 from lrineau/CGAL-allow_Epick_with_float-GF
Simple_precision_epick: an Epick-like kernel with float as FT
2023-05-04 16:37:17 +02:00
Sébastien Loriot c1ceeaed55 try be less aggressive 2023-05-03 18:21:29 +02:00
Sébastien Loriot f530f69752 try to suppress warnings 2023-05-02 15:23:17 +02:00
Michael Hoffmann 721aafd22e remove trailing whitespace 2023-04-27 17:49:50 +02:00
Michael Hoffmann 4ad2561b39 remove trailing whitespace 2023-04-27 16:52:25 +02:00
Michael Hoffmann 003ce240b6 Added EPIC exact tag for the (two relevant) global functions. 2023-04-27 15:34:53 +02:00
Michael Hoffmann cfa16aa95f Document which constructions are exact in EPIC. 2023-04-27 12:14:36 +02:00
Michael Hoffmann 24451c03e1 Add doc which constructions are trivial/exact. 2023-04-25 17:01:09 +02:00
Laurent Rineau 42297b06a4 fix runtime error with single precision (float), cont. 2023-04-24 14:49:42 +02:00
Sébastien Loriot b039040f73 boost::is_convertible -> std::is_convertible 2023-04-23 22:37:07 +02:00
Sébastien Loriot 8b3acae1c7 boost::remove_reference -> std::remove_reference 2023-04-23 22:36:59 +02:00
Sébastien Loriot fa301554ce boost::remove_v -> std::remove_cv_t 2023-04-23 19:13:56 +02:00
Laurent Rineau af5468c3a8 fix runtime error with single precision (float) 2023-04-20 21:15:19 +02:00
Laurent Rineau 594682dde3 Merge pull request #5461 from sloriot/PMP-decimation
Add coplanar decimation
2023-04-17 10:14:07 +02:00
Laurent Rineau 824976a003 Merge pull request #7236 from albert-github/feature/issue_7231
issue #7231 Improvement of layout of refines relations.
2023-04-17 10:14:01 +02:00
albert-github b21b984daa issue #7231 Improvement of layout of refines relations.
Adjusted after review
- usage of `Adaptable...Function` instead of `AdapatableFunctor (with... arguments)`
- corrected some incorrect / superfluous `}`
2023-04-12 09:49:53 +02:00
albert-github 8a0b21461d Unexpected backtick
- Corrected some more redundant / missing backticks
- correctes a spelling error (Boolean_set_operations_2/doc/Boolean_set_operations_2/CGAL/Boolean_set_operations_2/Gps_default_dcel.h)
2023-04-11 17:38:37 +02:00
Laurent Rineau 1dce90ee79 Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF 2023-04-07 10:59:51 +02:00
Andreas Fabri 6dec6c320d More forwarding 2023-04-06 17:49:24 +01:00
Sébastien Loriot 8d062a88ce example of perfect forwarding for Point_3 2023-04-06 17:25:17 +02:00
Sebastien Loriot a34ada1cfe Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2023-03-31 14:39:33 +02:00
Mael Rouxel-Labbé cd0c81a98a Merge remote-tracking branch 'cgal/master' into P3M3-Undocumented_polyhedral_domain_example-GF 2023-03-20 10:14:27 +01:00
albert-github 2d60f46985 issue #7231 Improvement of layout of refines relations.
- Adjusted cgalRefines according to reviews
- Implemented it in all files
2023-03-14 17:37:50 +01:00
albert-github 19c97b031e Merge branch 'master' into feature/issue_7231 2023-03-14 12:19:05 +01:00
Sébastien Loriot b1d2744821 Merge branch 'master' into PMP-decimation 2023-03-02 14:24:27 +01:00
Laurent Rineau 78e2d5e4d2 Merge pull request #6478 from afabri/Nef_3-replace_deque_by_vector_and_reserve-GF
Nef_3: Add overloads with ORIGIN in predicates
2023-03-02 13:42:35 +01:00
Laurent Rineau a5052f4cd8 Merge pull request #6835 from MaelRL/CGAL-Clean_CMakeLists.txt-GF
Some CMakeLists.txts cleaning
2023-02-16 10:52:29 +01:00
Sébastien Loriot fbe559adc9 Merge 'cgal/master' into PMP-decimation 2023-02-14 08:33:24 +01:00
Laurent Rineau 07672d9fa4
Kernel_23: inconsistent documentation (#6916)
Made preconditions in the C++ form.
2023-02-02 11:28:46 +01:00
albert-github d7f3bba742 issue #7231 Improvement of layout of refines relations.
Implemented:
- no extra "Refines" page
- Refines on one line
- Refines always in code style
- `2 arguments` -> `two arguments`  (for consistency
- added also the `\qualifier`

Implemented in  Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h
Results a.o.
- doc_output/Kernel_23/classKernel_1_1Circle__2.html
- doc_output/Kernel_23/classKernel_1_1BoundedSide__3.html

Note: due to the fact that this is a test implementation pages outside the scope of Kernel_23/doc/Kernel_23/Concepts/FunctionObjectConcepts.h might not be correct (in respect to code appearance of refines and multiple refines)
2023-02-01 18:13:16 +01:00
Sébastien Loriot 9e137bca24 Merge 'cgal/master' 2023-01-31 12:26:55 +01:00
Mael Rouxel-Labbé 73f21752a3 Add missing overloads of ConstructWeightedCircumcenter_3 to the Kernel concept 2023-01-30 16:36:15 +01:00
Mael 153c603209
Merge branch 'master' into CGAL-Clean_CMakeLists.txt-GF 2023-01-27 22:09:02 +01:00
Laurent Rineau 5f8930db8c Merge branch '5.5.x-branch'
# Conflicts:
#	Convex_hull_2/test/Convex_hull_2/ch_test_CH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SC.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SH.cpp
#	Convex_hull_2/test/Convex_hull_2/ch_test_SS.cpp
#	Straight_skeleton_2/include/CGAL/constructions/Straight_skeleton_cons_ftC2.h
#	Straight_skeleton_2/include/CGAL/predicates/Straight_skeleton_pred_ftC2.h
2023-01-27 21:16:14 +01:00
Laurent Rineau 8a6b583780 Merge pull request #6880 from soesau/PMP-tests_only_for_epeck-soesau
Pmp tests only for epeck
2023-01-27 21:02:26 +01:00
Andreas Fabri 404cf8f0c2 Projection_traits_xy_3: Enable structural filtering 2023-01-09 11:13:29 +00:00
Mael Rouxel-Labbé e6226e9fa3 Fix links to CGAL::Null_vector 2023-01-09 11:07:12 +01:00
Mael 0ff7882997
Merge branch 'master' into feature/bug_documentation_spell_20221113 2022-12-06 22:21:06 +01:00
Mael 6538b22e06
Merge branch 'master' into CGAL-Clean_CMakeLists.txt-GF 2022-12-05 16:03:41 +01:00
Laurent Rineau e8ec440859 Merge branch 'master' into Kernel-Compare_distance_3_RT_FT__always_Filtered_predicate_RT_FT-GF
# Conflicts:
#	STL_Extension/doc/STL_Extension/CGAL/Concurrent_compact_container.h
2022-12-05 14:51:31 +01:00
Laurent Rineau 861ce1deed Merge pull request #7078 from MaelRL/Kernel_23-Fix_missing_CP3_overload-GF
Fix the Kernel concept being weaker than TriangulationTraits_23 requirements
2022-12-05 12:22:01 +01:00
Laurent Rineau 802d648f04 Merge pull request #7078 from MaelRL/Kernel_23-Fix_missing_CP3_overload-GF
Fix the Kernel concept being weaker than TriangulationTraits_23 requirements
2022-12-05 11:57:14 +01:00
Mael da0b13699c
Merge branch 'master' into Kernel-Compare_distance_3_RT_FT__always_Filtered_predicate_RT_FT-GF 2022-12-02 23:19:29 +01:00
Mael 2b44e11fb5
Apply suggestions from @albert-github & @afabri 2022-11-24 13:10:22 +01:00
Mael Rouxel-Labbé 3b640e5e0a Fix the Kernel concept being weaker than TriangulationTraits_23 requirements 2022-11-23 21:30:31 +01:00
Laurent Rineau bf114a4509 Remove CGAL_EPICK_SINGLE_PRECISION 2022-11-22 16:13:35 +01:00
Mael Rouxel-Labbé 4bb2d13272 Rephrase comment 2022-11-22 12:36:07 +01:00
albert-github 45478184de spelling corrections
Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
2022-11-15 13:39:40 +01:00
Laurent Rineau fa83872f81 Remove the trailing white space I added by error 2022-11-08 16:02:17 +01:00
Laurent Rineau a6050f4bb3 Fix the comment 2022-11-08 15:57:53 +01:00
Laurent Rineau 7d250c5a2c Fix the testsuite for Homogenous 2022-11-08 15:18:31 +01:00
Laurent Rineau 92d8d1c805 Merge remote-tracking branch 'cgal/master' into CGAL-allow_Epick_with_float-GF
# Conflicts:
#	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
2022-11-08 12:11:06 +01:00
Laurent Rineau 51a5ce0c44 Test Simple_precision_epick
... and adapt the code of the testsuite. In particular, there are lots
of cases of inexact constructions that are compared to exact results.
2022-11-08 12:08:58 +01:00
Laurent Rineau 3933d0bec8 Fix a 16 years old todo
Sylvain Pion, wrote in August 2006:
> FIXME : Use Qrt<> here

At that time `Qrt` stood for `Qualified_result_of` (sic, maybe it was
named "qualified result type" at a time).

Now that we can use C++14, we have `decltype(auto)` instead.
2022-11-08 12:07:14 +01:00
Laurent Rineau 3600173ed4 Missing includes, for users of Epick
(even if those headers are probably already included elsewhere)
2022-11-08 12:01:44 +01:00
Laurent Rineau b56a79eacf Compute_[abcd]_[23] return references
That simplifies the code, and is more correct.
2022-11-08 11:06:44 +01:00
Laurent Rineau cb0ad7f509 Use template aliases to factorize code 2022-11-08 11:04:38 +01:00
Laurent Rineau 21f60772a1 Do not enable CGAL_KERNEL_23_TEST_RT_FT_PREDICATE_FLAGS by default 2022-11-07 15:46:13 +01:00
Laurent Rineau 2b41ebaaaa Remove last remnant of C++17 if constexpr 2022-11-07 15:45:58 +01:00
Laurent Rineau 1c5454dcbe Add Converting_construction to Simple_precision_epick
The difficulty is to detect/define which constructions are "trivial"
and must not be wrapped into `Converting_construction`. Otherwise the
use of `Cartesian_converter`, that uses trivial constructions itself,
can lead to loops and infinite call stacks.
2022-10-28 12:07:58 +02:00
Laurent Rineau c685810119 Add Construct_point_on_3(Line_3), for efficiency 2022-10-28 12:07:58 +02:00
Sébastien Loriot 0cac6a9da8 Merge remote-tracking branch 'sloriot/PMP-decimation' into PMP-decimation 2022-10-25 14:55:57 +02:00
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é 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 026049cf8e Switch to Epick-with-float using a new macro
If  `CGAL_EPICK_SINGLE_PRECISION` is defined, then the number type
of `CGAL::Epick` is `float` instead of `double`.
2022-10-10 16:15:01 +02:00
Laurent Rineau 0e823324c9 Allow to use an Epick-like kernel with float as FT 2022-10-10 15:49:17 +02:00
Sven Oesau 2c9b5ed528 more tests only for exact kernels in Kernel_23 2022-10-01 16:07:03 +02:00
albert-github 680e144ad1 issue 6891 Kernel_23: inconsistent documentation
Made preconditions in the C++ form.
2022-09-29 18:08:53 +02:00
Laurent Rineau 9d40a225ff
Update Kernel_23/test/Kernel_23/Filtered_cartesian.cpp 2022-09-23 15:32:52 +02:00
Andreas Fabri d3fca65ae5 CGAL: No longer per package assertions 2022-09-23 12:49:40 +01: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é 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