Commit Graph

6560 Commits

Author SHA1 Message Date
Sebastien Loriot 471f357785 Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2025-02-14 22:49:52 +01:00
Sébastien Loriot bf1d859b7b remove empty line 2025-02-14 22:47:43 +01:00
Sébastien Loriot c1c6bd2ead add macro to hide debug 2025-02-14 22:44:24 +01:00
Sébastien Loriot a67a43b4be cosmetic changes from the review 2025-02-14 22:36:56 +01:00
Sébastien Loriot 1aed5d6c9e move example + accomodate reviews 2025-02-14 22:23:26 +01:00
Sebastien Loriot bc3412cd24 Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2025-02-14 21:56:29 +01:00
Sébastien Loriot a6c6d9b9fa ...buffer not reloaded... 2025-02-13 18:23:17 +01:00
Sébastien Loriot bd5a86f868 more doc fixes 2025-02-13 18:02:58 +01:00
Sébastien Loriot 7ceafd8a84 more review changes + way to disable ICC 2025-02-13 17:42:19 +01:00
Sébastien Loriot 3336d13aaf backticks 2025-02-13 16:57:52 +01:00
Sébastien Loriot c8ccdc6908 rename function/file 2025-02-13 16:41:16 +01:00
Sébastien Loriot c46febee54 fixes thanks to review 2025-02-13 16:36:37 +01:00
Sébastien Loriot b83b5c7f88 missing include 2025-02-13 01:16:19 +01:00
Sébastien Loriot 7ff76d605e no need for a group 2025-02-13 01:11:52 +01:00
Sébastien Loriot b589c88869 Merge remote-tracking branch 'cgal/master' into gsoc2023-hoskillua 2025-02-13 01:00:12 +01:00
Sébastien Loriot 60c694ef78 add fig 2025-02-13 00:59:08 +01:00
Sébastien Loriot 837dfc45ab fix pmap for curvature based version 2025-02-13 00:43:58 +01:00
Sébastien Loriot 37e3368ff3 add missing refs 2025-02-13 00:07:14 +01:00
Sébastien Loriot 10cf3cd4ec update user manual 2025-02-12 23:52:03 +01:00
Sébastien Loriot 2d0ffba5b4 rename parameters 2025-02-12 23:50:00 +01:00
Sébastien Loriot 21f615aa25 rename parameters 2025-02-12 22:21:59 +01:00
Sébastien Loriot 06b511cc65 Merge pull request #6088 from sloriot/PMP-add_discrete_curvature
Add functions to compute discrete curvatures
2025-02-12 21:22:40 +01:00
Sébastien Loriot ae9d1bc7ad write the result in the input mesh 2025-02-12 20:00:15 +01:00
Sebastien Loriot 14b83f0d3e
boost::tie -> std::tie (#8715) 2025-02-12 19:36:19 +01:00
Léo Valque 8079f69f8b Add some parallellisation 2025-02-12 13:16:43 +01:00
Léo Valque 64c4fd25a9 ceil for negative rational and comments 2025-02-12 10:51:31 +01:00
Sebastien Valette a640b925cd early stop condition : only consider vertices in non-frozen clusters to compute modification ratio 2025-02-12 09:37:25 +01:00
Sébastien Loriot e8f7fcc0ae foldover are not coplanar patches 2025-02-12 01:16:54 +01:00
Sébastien Loriot 61e71d41b8 WIP make it manifold 2025-02-11 19:19:21 +01:00
Léo Valque aef30f0e9d Write a generic ceil function to use snap_polygon_soup with various number type; tested with EPECK et EPICK 2025-02-11 17:01:10 +01:00
Sébastien Loriot 01eb941a44 iterative edge split and do not handle twice the same edge per iteration 2025-02-11 15:50:22 +01:00
Sébastien Loriot 72f7fcc46d black color for no cluster 2025-02-11 12:28:41 +01:00
Sébastien Loriot 1dcf7370a7 3 loops: no qem, qem, qem + topo criteria 2025-02-11 12:24:08 +01:00
Sebastien Valette ed35662a9f lambda function to push vertex edge ring 2025-02-11 10:55:08 +01:00
Sebastien Valette c0f2f7f80c new test seed 2025-02-11 10:54:43 +01:00
Sébastien Loriot c7427fb729 split long edges 2025-02-11 08:38:04 +01:00
Sébastien Loriot e12c739864 use dedicated energy for non qem case
taken from
commit e6961ef94c
Author: Sébastien Loriot <sebastien.loriot@cgal.org>
Date:   Mon Feb 10 21:33:46 2025 +0100

    factorize qem metric and non qem metric impl
2025-02-10 23:10:11 +01:00
Sébastien Loriot 40749e1893 more authors 2025-02-10 23:02:06 +01:00
Sébastien Loriot dbf3e6a175 make representative computation lazy 2025-02-10 22:48:34 +01:00
Sébastien Loriot b1e3ed1e3c add ratio as parameter 2025-02-10 21:57:29 +01:00
Sébastien Loriot e6961ef94c factorize qem metric and non qem metric impl 2025-02-10 21:33:46 +01:00
Sébastien Loriot 328230c40e warnings and TODOs 2025-02-10 19:50:43 +01:00
Sebastien Valette 634df03161 optimization : skip testing edges when their respective clusters have not been modified recently 2025-02-10 17:35:21 +01:00
Sebastien Valette ec2a1a2f88 removed trailing spaces 2025-02-10 17:04:17 +01:00
Sebastien Valette 36b3532565 rename variable 2025-02-10 17:01:18 +01:00
Sebastien Valette b48d66fd0a reset cluster stats
lazy energy computations
2025-02-10 16:54:51 +01:00
Sebastien Valette 78bb2abf69 optim : lazy computations 2025-02-10 15:31:09 +01:00
Sébastien Loriot 65755d8717 topological test to avoid disconnected clusters 2025-02-10 12:53:26 +01:00
Sebastien Valette c7e06de161 cleanup 2025-02-10 12:52:38 +01:00
Sebastien Valette 5039ab66bd use temporary clusters 2025-02-10 12:46:51 +01:00
Sebastien Valette a5bd577da1 let algorithm converge by itself 2025-02-10 10:48:54 +01:00
Sebastien Valette b7f515923c fix qem metric 2025-02-10 10:33:17 +01:00
Léo Valque 4d4763fa8b Fig a bug when the scaling have a negative exponent 2025-02-07 10:15:49 +01:00
Mael Rouxel-Labbé 07d7615d91 Require a FaceGraph for boundary checks 2025-02-06 10:16:10 +01:00
Léo Valque 3dc12cd8fb New alternative version of snap_polygon_soup for testing 2025-02-04 16:15:08 +01:00
Léo Valque 3811271150 add more verbose in snap_polygon_soup 2025-02-04 15:17:20 +01:00
Laurent Rineau e5001d1a50 update our CMake version 3.18...3.31
That will suppress the warnings about `CMP0167` (from CMake 3.30):

```
CMake Warning (dev) at cmake/modules/display-third-party-libs-versions.cmake:37 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
```
2025-02-04 14:32:37 +01:00
Léo Valque 3a64fe3fcd add number_of_iterations as a named parameter for snap_polygon_soup 2025-02-04 14:11:28 +01:00
Léo Valque 14ccffcd13 Doc, verbose and named parameter of snap_polygon_soup 2025-02-04 13:51:53 +01:00
Léo Valque 3787d4b0ac Add snap polygon soup to PMP 2025-02-04 11:26:46 +01:00
Sébastien Loriot 5b4b19a1c8 add cut_with_plane and new clip method 2025-01-28 14:54:27 +01:00
Sébastien Loriot 107f3696dc boost::tie -> std::tie 2025-01-24 14:20:00 +01:00
Sven Oesau 5b28489b16 fixed test_pmp_distance 2025-01-23 11:00:44 +01:00
Sebastien Loriot db45571323
refactor: remove duplicate header file inclusion (#8692)
## Summary of Changes

remove duplicate header file inclusion

## Release Management

* Affected package(s): Polygon_mesh_processing
2025-01-22 10:46:18 +01:00
Sébastien Loriot 6d20c44ccf Merge remote-tracking branch 'cgal/6.0.x-branch' 2025-01-17 18:52:55 +01:00
zfb132 d5d01a4d32
refactor: remove duplicate header file inclusion 2025-01-15 23:34:10 +08:00
Andreas Fabri be12df3dc1 A deviation of 0.1 degree can savely considered as zero here 2025-01-13 07:18:26 +00:00
Jane Tournois 8e0ebb9a39 update status of border edges when removing a (degenerate) border face 2025-01-10 13:42:33 +00:00
Mael Rouxel-Labbé 8e3befc09a Add tests for discrete curvatures 2025-01-10 13:11:37 +01:00
Mael Rouxel-Labbé c418aea7c2 Document PMP/curvature.h 2025-01-10 13:11:21 +01:00
Mael Rouxel-Labbé db297d7eff Handle boundary vertices in angle_sum 2025-01-10 13:10:33 +01:00
Mael Rouxel-Labbé 26005e59f3 Fix compilation 2025-01-10 13:10:16 +01:00
Mael Rouxel-Labbé 6d68861f1e Move PMP/curvature.h outside of 'internal' 2025-01-10 11:40:50 +01:00
Mael Rouxel-Labbé d7791980d1 Move separator 2025-01-10 11:40:10 +01:00
Andreas Fabri 125a0d6041 A trivial fix for the data set, but does not work when the face normals are slightly perturbed 2025-01-10 09:16:17 +00:00
Andreas Fabri 924bfdf2c3 PMP: Slow compute_vertex_normal() 2025-01-09 14:00:52 +00:00
albert-github f5ec9b05b7 Spelling correction
Spelling correction

Note: we also have a similar spelling error in:
```
Surface_mesh_skeletonization/benchmark/Surface_mesh_skeletonization/mcf_scale_invariance.cpp:104:  output.open("correspondance.cgal");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_example.cpp:68:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_LCC_example.cpp:66:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_om_example.cpp:75:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_sm_example.cpp:67:  output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_example.cpp:72:  output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_LCC_example.cpp:72:  output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_sm_example.cpp:51:  output.open("correspondance-sm.polylines.txt");
```
but as this in filenames I didn't change it.
2024-12-23 15:23:47 +01:00
Sébastien Loriot f5f5dc7244 Merge remote-tracking branch 'cgal/6.0.x-branch' into HEAD 2024-12-23 09:40:20 +01:00
Sébastien Loriot cb3e182284 Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD 2024-12-23 09:38:35 +01:00
Sebastien Loriot 06fa730c75
Flip it if you can't collapse it (#8609)
if a needle is also a cap, it will be handled as a needle only. But if
we can't collapse the edge, a flip will not be tried. Try the flip too.

Note that this will slow down the method as the status of a triangle is
tested twice.

Fix #8605
2024-12-23 09:34:33 +01:00
Sebastien Loriot b55bdc0103
Fix link to replacement function (#8657)
## Release Management

* Affected package(s): `Polygon_mesh_processing`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2024-12-23 09:33:22 +01:00
Sébastien Loriot 8bc0b888b8 clean up patch and make filling lazy 2024-12-18 11:42:10 +01:00
Sébastien Loriot dfb77dde96 add test 2024-12-18 11:42:05 +01:00
Sébastien Loriot a6f7b3c163 WIP handle nested coplanar CC 2024-12-18 11:37:14 +01:00
Sébastien Loriot b32558b87e Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-12-16 11:47:34 +01:00
Mael Rouxel-Labbé 4efaa1e9cb Fix link to replacement function 2024-12-13 11:57:30 +01:00
Jane Tournois 30dda7ae89 add examples to the doc! 2024-12-12 14:26:24 +00:00
Mael Rouxel-Labbé 373ad84461 Improve discrete curvature implementation 2024-12-10 21:17:36 +01:00
Sébastien Loriot 078053314e Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2024-12-10 16:33:32 +01:00
Sébastien Loriot 3fa3568e6b Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2024-12-10 16:32:33 +01:00
Sebastien Loriot 289a8bda49
`PMP::isotropic_remeshing()` - fix relaxation of constrained vertices (#8604)
## Summary of Changes

Constrained vertices, and constrained edges were not properly protected
during the smoothing step.

## Release Management

* Affected package(s): PMP
* Issue(s) solved (if any): fix #8388
* License and copyright ownership: unchanged
2024-12-10 16:30:25 +01:00
Sébastien Loriot 0737a8f99b do not put all the faces of the mesh in the hash map 2024-12-10 15:58:53 +01:00
Sébastien Loriot c3e4e32fb7 factorize cap checks 2024-12-10 15:37:53 +01:00
Sébastien Loriot 116c0ec5d9 only use one container for the next loop
--> make the output of the function idempotent
2024-12-10 15:18:24 +01:00
Mael Rouxel-Labbé b24e6509fe Merge remote-tracking branch 'cgal/master' into PMP-add_discrete_curvature 2024-12-09 11:40:20 +01:00
Mael Rouxel-Labbé e8602e1f4e Use modern typedefs 2024-12-07 23:50:02 +01:00
Mael Rouxel-Labbé 25cd25c477 Tiny indentation fix 2024-12-07 23:49:55 +01:00
Mael Rouxel-Labbé a0e319e67b Re-attach convenience overloads to their respective main function 2024-12-07 23:43:07 +01:00
Mael Rouxel-Labbé f2299f844f Use plural for the all-vertices function 2024-12-07 23:42:49 +01:00
Mael Rouxel-Labbé 693fd25174 Use a capital 'G' 2024-12-07 23:42:31 +01:00
Mael Rouxel-Labbé 0fe940555d Fix namespace 2024-12-07 23:41:38 +01:00
Mael Rouxel-Labbé e9de7e88ad Fix test pretty much never testing envelope tests + read all formats 2024-12-07 23:34:58 +01:00
Mael Rouxel-Labbé eb668da9ea Misc cleaning 2024-12-07 23:34:23 +01:00
Mael Rouxel-Labbé fda7b1ae6a Avoid a lot of useless shape predicate calls
Here are some changes:
- Avoid a lot of redundant calls of is_it_a_needle / is_it_a_cap
  - Do not test for cap-ness if it's already a needle
  - Do not fill both ranges at the beginning, but fill
    with everything: on the first round, needle-ness will
    be tested, and the exit towards cap-ness will happen
  - Wait for a needle to no longer be a needle, or not be
    treatable to actually test cap-ness
- When the mesh is modified, do not test everything immediately,
  just put them in the queue of the next iteration

Result: Fewer calls to shape predicates

- master -
needle calls = 828 668
cap calls = 803 330

- PR -
needle calls = 803 554
cap calls = 795 317

Should be fewer but two effects are balacing each other for the calls:
- much fewer calls to shape predicates (is_it_a_needle, is_it_a_cap)
  by not calling until absolutely necessary (but still checking at pop time).
- when we modify the mesh, I no longer fill the CURRENT cap and needle
  ranges, but the next ones. The point is to really prioritize all caps
  BEFORE treating needles, whereas otherwise we would treat some needles
  at the current iteration while there are still caps to treat.
So there are more iterations which add more useless calls (see below)
2024-12-07 23:31:57 +01:00
Mael Rouxel-Labbé a4cb48a145 Fix never trying again a user-rejected cap 2024-12-07 23:29:04 +01:00
Mael Rouxel-Labbé eb5ff9b33e Fix collect_badly_shaped_triangles not actually filling both ranges 2024-12-07 23:28:20 +01:00
Sébastien Loriot cac285d097 no need to redo new node propagation if it was already been done once 2024-12-06 17:19:01 +01:00
albert-github 36f6a36dac Errors in bibliography and incorrect usage of `\f[` command
- The `&` in the bibliography has to be escaped
- the doxygen command `\f[` should not be used to directly change the environment, for this the doxygen command `\f{` exists.
2024-12-02 15:48:48 +01:00
Sébastien Loriot 0b3c27e584 swap the parameters also here 2024-11-21 09:04:17 +01:00
Sébastien Loriot 41d37ac2a9 split badly shaped triangle check and delay the check calls 2024-11-20 09:40:13 +01:00
Sébastien Loriot b60b203c56 add missing cap collection in case of non-collapsed edge 2024-11-20 09:11:48 +01:00
Jane Tournois 21e1ff113a vertex is constrained if NOT allowed to move 2024-11-18 16:17:19 +01:00
Sébastien Loriot c9c1770c18 in case an edge is both a cap and a needle but that is not collapsable try to flip 2024-11-14 11:54:48 +01:00
albert-github 1320a1d497 Spelling correction
Spelling correction
2024-11-14 10:22:43 +01:00
Jane Tournois 7462b70bec remove unused 2024-11-12 14:01:30 +01:00
Jane Tournois b8165f62de add is_move_allowed(v) and use it in tangential_relaxation_impl() 2024-11-08 16:57:42 +01:00
Jane Tournois ec1d43afbe add constrained vertices to pmap 2024-11-08 16:11:11 +01:00
Andreas Fabri fcf062bf48 PMP: Initialize to avoid warning 2024-11-08 10:13:26 +00:00
Sébastien Loriot e045c48992 warnings and questions 2024-10-21 22:22:05 +02:00
Sébastien Loriot 89331d157d init dynamic maps using new API 2024-10-21 22:21:53 +02:00
Sébastien Loriot 07963c31a7 fix copy/paste error: put hedges in the right container 2024-10-21 22:06:26 +02:00
Andreas Fabri 0afe4f09e9 Change output file names; Fix dependency 2024-10-18 14:28:17 +01:00
Andreas Fabri 70326e3b8e Read file as given in argv and write output to same stem and extension 2024-10-18 13:55:55 +01:00
Sébastien Loriot 619875392c Merge branch 'gsoc2023' into master 2024-10-18 14:33:31 +02:00
Laurent Rineau 96cd3e6f09 Merge remote-tracking branch 'cgal/master' into pr/afabri/8528 2024-10-17 00:25:24 +02:00
Sven Oesau a06002ab2b Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-10-14 14:42:46 +02:00
Andreas Fabri 95616154d5 More PRIVATE in LCC and Generalized_map 2024-10-09 07:19:52 +01:00
Andreas Fabri 527569346e CGAL: Modernize CMakeLists.txt 2024-10-08 17:02:41 +01:00
albert-github dd02af92a2 issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
Laurent Rineau e1c1582c08 Merge pull request #8210 from janetournois/PMP-allow_move_example-jtournois
PMP isotropic_remeshing - add example using `allow_move_functor`

# Conflicts:
#	Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt
2024-09-27 11:49:59 +02:00
Laurent Rineau 5a06283647 Merge pull request #8418 from sloriot/PMP-isorem_deg_faces
[isotropic_remeshing] do no flip if creating a degenerate face
2024-09-27 10:59:52 +02:00
albert-github f7320ae1c1 Spelling corrections
Spelling corrections
2024-09-13 17:53:05 +02:00
Sebastien Loriot abd0a58338
Installation - update `FindOpenMesh.cmake` (#8332)
## Summary of Changes

This PR updates CGAL's `FindOpenMesh.cmake`, accordingly with the one
provided by OpenMesh 11.0, and introducing the target
`OpenMesh::OpenMesh`

## Release Management

* Affected package(s): Installation
* License and copyright ownership: unchanged
2024-09-06 13:26:41 +02:00
Sébastien Loriot 4cf1f4b214 CONFIG options is only needed if a FindXXX.cmake exists 2024-09-04 14:48:07 +02:00
Jane Tournois 3f6083e6ff use CGAL::OpenMesh_support in examples and tests 2024-08-27 14:06:16 +02:00
Jane Tournois eabb4dc756 remove border degenerate faces, fixed 2024-08-26 10:21:41 +02:00
Jane Tournois c7ce0e43b8 remove boundary degenerate faces 2024-08-26 10:06:08 +02:00
Sébastien Loriot 152fd4d74e do no flip if creating a degenerate face 2024-08-20 17:25:32 +02:00
Sebastien Loriot 47c417a785
Deal with duplicate lines (#8396)
## Summary of Changes

Deal with Issue #8348 

## Release Management

* Affected package(s):  Triangulation_2 and Periodic_triangulation_2
* Issue(s) solved (if any): fix #8348 
* License and copyright ownership:  unchanged
2024-08-19 11:17:50 +02:00
Andreas Fabri 12468ccf4a Address #8401 2024-08-09 11:32:26 +01:00
Sébastien Loriot 2577ecea27 fix initialization
bug introduced #7712
2024-07-05 13:01:45 +02:00
Sébastien Loriot e95ea7cde7 unused variable 2024-07-04 18:36:55 +02:00
Jane Tournois 8905201e21 replace pig (not closed) by triceratops 2024-07-01 15:15:34 +02:00
Mael Rouxel-Labbé 67aba3fefe Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-06-20 10:18:49 +02:00
Laurent Rineau a800918665 Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
Forward the visitor for split
2024-06-13 12:48:47 +02:00
Laurent Rineau 21bc6c669f Merge pull request #8277 from afabri/PMP-normals-GF
PMP: Change the string of the property
2024-06-13 12:48:45 +02:00
Laurent Rineau 6f4b598b6a Merge pull request #8278 from albert-github/feature/bug_spell_20240511
Spelling correction
2024-06-13 12:48:43 +02:00
Laurent Rineau 212a323e4d Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
Forward the visitor for split
2024-06-13 12:48:22 +02:00
Laurent Rineau 96d91fa2bd Merge pull request #8277 from afabri/PMP-normals-GF
PMP: Change the string of the property
2024-06-13 12:48:20 +02:00
Laurent Rineau 32893b91c0 Merge pull request #8263 from lrineau/CGAL-update_minimal_cmake-GF
cmake_minimum_required(VERSION 3.12...3.29)
2024-06-12 10:06:12 +02:00
Laurent Rineau ff6e9d262b Merge pull request #8272 from sloriot/PMP-coref_use_size_type
Fix iteration on dynamic bit set
2024-06-12 10:06:06 +02:00
albert-github c35a0a7f11 Spelling correction
Spelling correction due to updated dictionary.
(dictionary was updated after the previous spelling correction :-( )
2024-06-11 10:12:12 +02:00
Andreas Fabri 8a6b86b9ae PMP: Change the string of the property 2024-06-11 08:18:34 +01:00
Sébastien Loriot 4cd04080b3 forward the visitor 2024-06-11 09:08:33 +02:00
Sébastien Loriot a99ebc30eb test several polygon types 2024-06-10 15:44:17 +02:00
Sébastien Loriot 174a1d68e0 avoid potentially infinite loop 2024-06-10 15:07:25 +02:00
Laurent Rineau 3a223ebd1e cmake_minimum_required(VERSION 3.12...3.29) 2024-06-06 20:19:44 +02:00
Jane Tournois 8613b04e93 add to examples list 2024-06-04 09:48:40 +02:00
albert-github 36c8b7589d Spelling corrections
Last batch (for now) of spelling corrections in doxygen and normal comments
2024-05-31 19:05:34 +02:00
Sebastien Loriot 596fa09e20
Kinetic Shape Partition (#7198)
PR for Kinetic Partitioning and Reconstruction feature.

* Affected package(s): Kinetic Partitioning and Reconstruction
* Issue(s) solved (if any): 
* Feature/Small Feature (if any):
[link](https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Kinetic_Shape_Partition_3)
* Link to compiled documentation:
[link](https://cgal.github.io/7198/v0/Manual/packages.html#PkgKineticSpacePartition)
* License and copyright ownership:  GeometryFactory/Inria

**TODO:**
- [x] check branch size (for @sloriot)
2024-05-26 17:51:49 +02:00
Sebastien Loriot abe1bba8bd
CGAL improvement backported from CDT_3 branch (#8170)
## Summary of Changes

Important various fixes and improvements, from an experimental branch of
mine about CDT_3.

- <s>remove CMake warnings about `VTK_USE_FILE`</s> (our testsuite tests
with [VTK-8.2](https://docs.vtk.org/en/latest/release_details/8.2.html),
whereas
[VTK-9.0](https://docs.vtk.org/en/latest/release_details/9.0.html) was
released four years ago).
- make `Circulator_from_container` compatible with ranges (instead of
just containers)
- `Hash_map` is move-constructible and -assignable
- add preliminary support for C++20 concepts and `<format>`
- [x] add `Compare_angle_3(Point_3, Point_3, Point_3, Point_3, Point_3,
Point_3)` (with six points) **TODO: needs doc**... will be handled later
in issue #8219
- [x] **breaking changes:** add `Compare_xy_2` to
`TriangulationTraits_2` <s>TODO: needs announcement</s>
- fix `Compact_container` time stamp feature
- [x] commits from #7410 **That is probably a problem, to be fixed.**
**fixed in #7410 and then my the merge
70464ea107**
- add `CGAL::Scope_exit`, `CGAL::make_scope_exit`, for CGAL developers
(undocumented)
- add an overload of `make_sorted_pair` with only one pair-like argument
- improve `CGAL::IO::Output_ref` and `oformat`
- perf improvements in
`TDS_3/include/CGAL/Triangulation_data_structure_3.h` (`is_edge` is 7
times faster)
- <s>perf improvement in
`Triangulation_2/include/CGAL/Triangulation_2/internal/Polyline_constraint_hierarchy_2.h`
(with the use of `unordered_flat_map` from Boost>=1.80</s>
- less filter failures in `Triangulation_segment_cell_iterator_3`
- add `Triangulation_3::is_facet(u, v, w)` (without `, c, i, j, k`)

## Release Management

* Affected package(s): Installation, T_2, TDS_2, T_3, TDS_3, SMDS_3,
Kernel, STL_Extension, Stream_support
* Feature/Small Feature (if any):
* License and copyright ownership: maintenance by GeometryFactory
2024-05-26 17:48:10 +02:00
Sébastien Loriot 279ddde799 more to core 2024-05-24 17:03:18 +02:00
Laurent Rineau 81357855d5
Using std::optional for Property_container::get<T> (#8035)
## Summary of Changes
Switching from `std::pair<Property_map<T>, bool>` to `std::optional` in
`Property_container::get<T>`

Introducing `Pair_optional_adaptor` for backward compatibility which
extends `std::optional<T>` to interface of `std::pair`

using `Pair_optional_adaptor` for `Surface_mesh` and `Point_set_3`

## Release Management

* Affected package(s): Point_set_3, Surface_mesh, STL_Extension
2024-05-22 12:12:56 +02:00
Laurent Rineau 70464ea107 Merge remote-tracking branch 'afabri/STL_extension-Fix_Prevent_deref-GF' into pr/lrineau/8170 2024-05-21 18:55:11 +02:00
Jane Tournois de9eccf316 functor is not unary! 2024-05-17 15:41:29 +02:00
Jane Tournois 12455fbd55 add example using allow_move_functor 2024-05-17 10:19:49 +02:00
Laurent Rineau 022b19d3ca Merge pull request #8057 from sloriot/AABB_tree-2d_and_3d
Updating the AABB-tree to work in both 2D and 3D
2024-05-15 16:12:19 +02:00
Laurent Rineau 0dcb83bff8 Merge pull request #8142 from sloriot/PMP-coref_nm_out
Add extra parameters to the corefinement visitor to handle non-manifold output
2024-05-15 16:12:16 +02:00
Laurent Rineau 02ad5d6003 Merge pull request #8150 from janetournois/PMP-isotropic_remeshing_with_allow_move_functor-jtournois
PMP::isotropic_remeshing() - add NP `allow move functor`
2024-05-15 16:12:14 +02:00
Laurent Rineau f260a22a64 Merge pull request #8160 from sloriot/PMP-coref_with_less_bbox
PMP corefinement: only allocate necessary bboxes
2024-05-15 16:12:09 +02:00
Laurent Rineau 87fe13fcf6 Merge pull request #8168 from sloriot/PMP-remesh_doc
Update parameter description
2024-05-15 16:12:07 +02:00
Laurent Rineau 76809fa947 Merge pull request #8178 from sloriot/PMP-shorten_params
Rename parameters
2024-05-15 16:06:06 +02:00
Sven Oesau ab2ca20aac some more cases 2024-05-14 16:38:47 +02:00
Sébastien Loriot 6291a4f62d also rename input nps 2024-05-06 09:50:18 +02:00
Sébastien Loriot 1be3e1d3f2 shorten parameters for better doc readibility 2024-05-02 14:36:18 +02:00
Laurent Rineau 127163fda3 cosmetic changes in debug messages 2024-04-26 16:10:23 +02:00
Laurent Rineau 4bf1c438af Add a tool to list non triangulated off files 2024-04-26 16:10:23 +02:00
Sébastien Loriot 4525eeb988 do not modify the map if not the default one 2024-04-25 19:29:48 +02:00
Sébastien Loriot be81f15b95 update description: it is also an input parameter 2024-04-25 18:35:25 +02:00
Laurent Rineau 07eb230ed8 Merge pull request #8149 from lrineau/cgallab-cont
Rename Polyhedron demo to CGAL Lab everywhere
2024-04-25 11:30:08 +02:00
Sébastien Loriot 05c0625bce only allocate necessary bboxes 2024-04-24 21:27:29 +02:00
Laurent Rineau 2a2031df3b Rename cgallab to CGALlab
@janetournois (see https://github.com/CGAL/cgal/pull/8149#issuecomment-2066444180
2024-04-23 15:09:51 +02:00
Laurent Rineau c4165fe5f9 Merge pull request #7439 from MaelRL/PMP-Remove_degen_faces-no-clear-GF
Introduce remove_all_elements(Graph)
2024-04-22 14:54:18 +02:00
Laurent Rineau 3e3eed7f05 Merge pull request #8129 from sloriot/PMP-deterministic_triangulate_faces
Make triangulate_faces deterministic
2024-04-22 14:54:08 +02:00
Sven Oesau ffba6279c9 Merge remote-tracking branch 'cgal/master' into AABB_tree-2d_and_3d 2024-04-19 08:47:54 +02:00
Jane Tournois 96d8e1a5f6 document NP allow_move_functor 2024-04-18 13:01:07 +02:00
Jane Tournois 9a27b92a7d NP allow_move_functor from tangential_relaxation to isotropic_remeshing
this NP exists in tangential_relaxation() and we want to be able to
use it in the relaxation step, from the named parameters of isotropic_remeshing()
2024-04-18 12:50:20 +02:00
Laurent Rineau 621859b526 Rename Polyhedron demo to CGAL Lab
And announce it in the `CHANGES.md`.
2024-04-18 12:39:30 +02:00
Sébastien Loriot bf6af35d42 address review comments 2024-04-15 18:34:45 +02:00
Sébastien Loriot 05f4cf6106 add doc and make implementation generic 2024-04-15 17:32:22 +02:00
Sven Oesau d9cd44e30c AABBGeomTraits -> AABBGeomTraits_3 2024-04-15 11:59:00 +02:00
Sébastien Loriot 0e06536bf1 use a template parameter for the id in the triangle 2024-04-15 09:23:51 +02:00
Sébastien Loriot 3f147fb06a show how to create the mesh from the soup 2024-04-15 09:23:51 +02:00
Sébastien Loriot 07580f1a58 fix filename 2024-04-15 09:23:51 +02:00
Sébastien Loriot 04a58f9e53 prevent isolated vertices in the soup 2024-04-15 09:23:51 +02:00
Sébastien Loriot d796c06cae add test 2024-04-15 09:23:51 +02:00
Sébastien Loriot 3fbd0fd886 handle several operations 2024-04-15 09:23:37 +02:00
Sébastien Loriot 5583f42fce do no unmark edges as the soup does not need them + allow several operations 2024-04-15 09:23:12 +02:00
Sébastien Loriot 9d6c4dcd8a handle existing vertices that are intersection points 2024-04-15 09:23:12 +02:00
Sébastien Loriot 13e2adf130 First draft of using a visitor to extract non-manifold soups 2024-04-15 09:23:12 +02:00
Sébastien Loriot cfec3bb0cc fix values due to the diagonal change in degenerate triangulation 2024-04-11 11:44:35 +02:00
Sébastien Loriot 147b313cc8 also apply deterministic fix to polygon soup function 2024-04-11 09:36:16 +02:00
Sébastien Loriot ebe6d6719c precompute vectors 2024-04-11 08:55:10 +02:00
Laurent Rineau 8d5984bd1b Merge pull request #8108 from lrineau/CGAL-simplify_cmake-GF
CMake: simplify, now that C++17 is required
2024-04-10 18:04:20 +02:00
Andreas Fabri 4015b2b5c5 fixes after review 2024-04-10 11:52:33 +01:00
Laurent Rineau 49ca51275a
Fix typos (#8118) 2024-04-08 16:10:23 +02:00
Sébastien Loriot 16782d1e8b do not depend on vertex order when opposite angles are identical 2024-04-08 15:46:48 +02:00
Laurent Rineau 4677ece3da Merge pull request #7712 from sloriot/BGL-dynamic_with_default
Adding a default to dynamic property maps
2024-04-05 14:25:20 +02:00
Laurent Rineau 708711e7a7 Merge pull request #8018 from janetournois/PMP-add_bbox_to_face_graph-jtournois
New function `PMP::add_bbox(face_graph)` that adds bbox to face graph
2024-04-05 14:25:17 +02:00
Sébastien Loriot 68bc4a4bbc typos 2024-04-03 15:59:34 +02:00
Andreas Fabri caa8aaaa21 merge master 2024-04-03 14:09:39 +01:00
Laurent Rineau 04cf39bd8c CMake: simplify, now that C++17 is required 2024-03-28 18:38:48 +01:00
hoskillua 3bd0a7c92f QEM Minimization (still a bit buggy) 2024-03-28 17:55:12 +02:00
hoskillua 4130a35462 renaming a variable 2024-03-28 11:51:57 +02:00
hoskillua 916e5f55c5 Making PostProcessing QEM Optional (np) 2024-03-28 11:45:44 +02:00
Sébastien Loriot 5254404517 Merge remote-tracking branch 'cgal/master' into HEAD 2024-03-27 22:25:41 +01:00
hoskillua 9a292fa04f Merge branch 'gsoc2023' of https://github.com/hoskillua/cgal into gsoc2023 2024-03-27 20:07:22 +02:00
Sébastien Loriot ad926fe662 remove tabs 2024-03-27 19:00:12 +01:00
Sébastien Loriot 83f06b5461 remove unused file 2024-03-27 18:54:33 +01:00
Sébastien Loriot 97102e32f7 add license file 2024-03-27 18:47:18 +01:00
Sébastien Loriot e417a32a9f doc improvements 2024-03-27 18:36:34 +01:00
hoskillua 6e145b23d6 double -> typename GT::FT 2024-03-27 14:33:28 +02:00
hoskillua 9c6aa8c04f Optimizing Cluster Rep-Points with Qem (PostProcessing) 2024-03-27 13:15:47 +02:00
Sébastien Loriot a34120d817 fix warning 2024-03-27 08:21:34 +01:00
Sven Oesau f0d32fe869
Merge branch 'master' into AABB_tree-2d_and_3d 2024-03-26 16:03:19 +01:00
Sven Oesau 65be6133d8 removing deprecated AABB types 2024-03-26 15:56:45 +01:00
Sebastien Loriot a42ffdec11
Merge branch 'master' into CORE-boost_mp_number-GF 2024-03-26 00:27:22 +01:00
Sébastien Loriot 37b16ab656 fix warnings 2024-03-25 16:32:44 +01:00
Sébastien Loriot 8b649551be fix compilation issues
mostly due to change of function name
2024-03-25 16:30:50 +01:00
Sébastien Loriot 38339b7e4e Merge remote-tracking branch 'cgal/master' into HEAD 2024-03-25 16:14:08 +01:00
Sébastien Loriot baf084950b use default value for dynamic maps 2024-03-25 11:05:55 +01:00
Sébastien Loriot 12c80ac512 Merge remote-tracking branch 'cgal/master' into HEAD 2024-03-25 10:21:41 +01:00
Mael Rouxel-Labbé 5e38ed54df Fix double "Figure" in doc 2024-03-22 17:33:43 +01:00
Laurent Rineau 7a17b47d9f Merge pull request #8052 from afabri/Polygon-exact_area-GF
Polygon: Avoid stackoverflow when summing exact numbers

# Conflicts:
#	Polygon/include/CGAL/Polygon_2_algorithms.h
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2024-03-22 09:18:07 +01:00
Laurent Rineau 9f96166d44 Merge branch '5.5.x-branch' into 5.6.x-branch
# Conflicts:
#	Polygon/include/CGAL/Polygon_2_algorithms.h
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2024-03-22 09:09:57 +01:00
Sébastien Loriot b855194fba add missing include directive 2024-03-15 09:20:44 +01:00
Mael Rouxel-Labbé c984e0e08a Fix using the mesh point when the SotM is built from a tree 2024-03-14 11:05:23 +01:00
Andreas Fabri a42d56fc67 Add several #include 2024-03-14 10:09:07 +01:00
Sébastien Loriot f34745c4d8 use a functor for collapsing the DAG to not depend on Filtered_kernel
nor inclusion order
2024-03-14 10:02:30 +01:00
Andreas Fabri 19725c0b08 Fix PMP testsuite 2024-03-08 08:40:02 +00:00
Jane Tournois f786b86432 Merge remote-tracking branch 'cgal/master' into PMP-add_bbox_to_face_graph-jtournois 2024-03-06 16:04:58 +00:00
Jane Tournois bb2335a86e early exit already is in Bbox_3::scale() so we can remove this condition 2024-03-06 14:50:32 +01:00
Jane Tournois 15310c93ef copy_face_graph is not needed anymore 2024-03-06 14:48:31 +01:00
Jane Tournois ff3db1e0d7
doc suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2024-03-06 11:11:27 +01:00
Jane Tournois 78872aca27 move NP do_not_triangulate to make_hexahedron(isocuboid)
and fix nb of faces of hexahedron from 8 to 6
2024-03-05 13:38:14 +00:00
Andreas Fabri b70a736083 Replace deprecated classes 2024-03-05 07:20:28 +00:00
Andreas Fabri eb49100a96 Replace deprecated classes 2024-03-05 07:08:51 +00:00
Jane Tournois c074187836 Merge branch 'PMP-add_bbox_to_face_graph-jtournois' of https://github.com/janetournois/cgal into PMP-add_bbox_to_face_graph-jtournois 2024-03-04 16:05:56 +00:00
Jane Tournois 1fc30afde7 doc simplified (similar to most functions of PMP) 2024-03-04 17:05:08 +01:00
Jane Tournois 685f6e7f84 create an overload of CGAL::make_hexahedron for Iso_cuboid_3 2024-03-04 17:04:06 +01:00
Jane Tournois 272beb678a move scaling to CGAL::Bbox_3 2024-03-04 16:08:10 +01:00
Laurent Rineau 820465a556 Merge pull request #8023 from sloriot/PMP-soup_autoref_insert_in_edge
Autorefinement: insert points in edge to avoid filter failures
2024-02-28 10:57:25 +01:00
Sébastien Loriot 910945eb5f undo dependency changes + always use core if not disabled 2024-02-27 16:19:28 +01:00
Sébastien Loriot 3b30756cd3 do not depend on CGAL_Core 2024-02-27 14:46:18 +01:00
Sébastien Loriot 67b330bd5a do no iterate on a container you modify 2024-02-26 17:45:06 +01:00
Sébastien Loriot 08ab32e14a missing references 2024-02-26 14:23:09 +01:00
Sébastien Loriot 7a11b642fb Revert "get rid of extra container"
This reverts commit a57800ce07.

points vector of Triangle_data can be updated when intersecting
new intersection points. If the container is used at the same time
by another thread calling generate_subtriangles, the container might
be in an invalid state while resizing it.
2024-02-26 14:22:46 +01:00
Andreas Fabri e4558a4d4b Merge branch 'master' into CORE-boost_mp_number-GF 2024-02-23 17:04:37 +01:00
Mael Rouxel-Labbé f31ae7ccea Add missing backticks 2024-02-23 10:41:09 +01:00
Mael Rouxel-Labbé 8b14bd75ea Move Side_of_triangle_mesh's assertion to usage rather than construction 2024-02-23 10:40:54 +01:00
Laurent Rineau 053a2b3b81 Merge pull request #8010 from afabri/CGAL-change_include_order-GF
Change inclusion order to check dependencies
2024-02-22 10:23:02 +01:00
Laurent Rineau 5c5bb0477f Merge pull request #8032 from sloriot/PMP-locate_path
Fix invalid path
2024-02-16 18:03:06 +01:00
Sébastien Loriot a57800ce07 get rid of extra container 2024-02-16 12:12:19 +01:00
Sébastien Loriot 5cae5340e9 remove TODO that are not 2024-02-16 11:48:15 +01:00
Sébastien Loriot 7aa4f37b6b rename macro 2024-02-16 11:39:09 +01:00
Sébastien Loriot 916282e164 fix invalid path 2024-02-14 14:22:47 +01:00
Jane Tournois cb07b0f545 use midpoint from GT (and add precondition on factor) 2024-02-13 15:04:43 +01:00
Jane Tournois 83e80c91e9 doc 2024-02-13 13:48:24 +01:00
Jane Tournois c23db551f3 make bbox really tight when factor is 1. 2024-02-13 11:50:10 +01:00
Jane Tournois 6191f7de3c use split_face() instead of triangulate_faces()
and remove dependency on T2
2024-02-13 10:31:26 +01:00
Jane Tournois b48760af26 use do_not_triangulate_faces
a NP that already existed before this PR
2024-02-12 17:08:46 +01:00
Jane Tournois 801d7822c6 doc 2024-02-12 16:39:54 +01:00
Jane Tournois 6ed6aa681a improve add_bbox using make_hexahedron and Iso_cuboid_3 2024-02-12 16:32:52 +01:00
Jane Tournois 62b8e8fb6f new function add_bbox(face_graph) that adds bbox to face graph
the bbox can be :
* triangulated or not
* tight or not
2024-02-06 12:13: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 5b187bd79d Provide a fix for distance.h 2024-01-31 11:10:00 +00:00
Andreas Fabri 7d7b080842 PMP: Change inclusion order to check dependencies 2024-01-31 09:39:45 +00:00
Laurent Rineau 47324c1f1c Merge pull request #7919 from hoskillua/icc-todos
Interpolated Curvature remaining TODOs
2024-01-24 16:02:00 +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
Sébastien Loriot 6b40f5b189 restore axis aligned projection traits 2024-01-19 12:03:40 +01:00
Andreas Fabri f520602a0d Comment #warning and qualify get() with std:: 2024-01-19 11:47:05 +01:00
Sébastien Loriot 272a242f1b restore delaunay in CDT + autoref and deduplicate identical points in no segments case 2024-01-19 11:47:05 +01:00
Sébastien Loriot 0095748cd7 insert points directly on edges 2024-01-19 11:47:04 +01:00
Sébastien Loriot 81d2938910 collect on-edge information and do not collect segments on the same edge 2024-01-19 11:47:04 +01:00
Sébastien Loriot 61461b14b3 more debug and fix indices 2024-01-19 11:47:04 +01:00
Sébastien Loriot 3b003535c7 WIP 2024-01-19 11:47:04 +01:00
Sebastien Loriot fc66579029
PMP/soup_autorefinement.cpp: Make sure we can read the file before continuing (#7974) 2024-01-19 11:43:14 +01:00
Laurent Rineau b4f360f952 Merge pull request #7962 from sloriot/CGAL-header_fixes
Fix license issues
2024-01-11 12:45:40 +01:00
Sébastien Loriot d4a36120d8 make sure we can read the file 2024-01-11 09:31:15 +01:00
Mael Rouxel-Labbé d483b3bdfd Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2024-01-09 13:52:46 +01:00
hoskillua a18b258624 typo 2024-01-06 21:00:10 +03:00
hoskillua 4f809743f6 user man table typo 2024-01-06 19:44:37 +03:00
hoskillua 389b4c1809 table classes removed 2024-01-06 19:29:05 +03:00
hoskillua 5cf55e5df6 unsupported tags fix 2024-01-06 16:06:12 +03:00
hoskillua df09c6894e Performance 2024-01-06 15:43:19 +03:00
hoskillua 6b6d55d03a note about jet fitting package in user man 2024-01-06 12:36:44 +03:00
Sébastien Loriot 241e1bf557 add missing license include directives 2024-01-04 11:53:18 +01:00
Sebastien Loriot 7139a34f44 hide non used header 2024-01-04 10:20:16 +01:00
Sébastien Loriot 1b0447eab7 EPECK_with_sqrt is actually disabled 2024-01-03 18:36:34 +01:00