Commit Graph

5119 Commits

Author SHA1 Message Date
Léo Valque 9055d56e1f use the new internal function of the visitor of autorefinement for the wrapp_visitor of snap_rounding 2025-04-03 18:40:51 +02:00
Sébastien Loriot 7ff41a8950 Merge pull request #7837 from hoskillua/gsoc2023
GSoC2023 - ACVD for Simplification & Remeshing
2025-04-03 18:00:57 +02:00
Mael Rouxel-Labbé e001c7ce53 Misc minor doc changes 2025-04-03 17:08:26 +02:00
Mael Rouxel-Labbé 29505552ee Regroup related named parameters 2025-04-03 16:55:10 +02:00
Sébastien Loriot b6719fc3be Merge remote-tracking branch 'cgal/6.0.x-branch' into cgal/master 2025-04-03 16:09:51 +02:00
Sébastien Loriot f516c12c5b Merge remote-tracking branch 'cgal/5.6.x-branch' into 6.0.x-branch 2025-04-03 16:09:15 +02:00
Sebastien Loriot c5a809ad30
Spelling correction (#8813)
Spelling correction
2025-04-03 16:05:14 +02:00
Léo Valque a28b294f08 add internal_new_subtriangle to Visistor of autorefinement 2025-04-03 15:14:48 +02:00
Léo Valque a2a76cf874 add zhou and naive version 2025-04-03 14:31:04 +02:00
Léo Valque d48a003069 Solve bug with macro that skip repair_polygon_soup 2025-04-03 10:26:22 +02:00
Sébastien Loriot 60b4b19ba4 add more potentially missing include directives 2025-04-02 09:10:51 +02:00
Sébastien Loriot 9ff2696011 split at the midpoint to avoid patterns leading to infinite loop 2025-03-31 20:27:27 +02:00
Sébastien Loriot 9c6452dfaf do not take references to points stored in an internal vector that could be resized!
also fix debug function
2025-03-31 17:41:13 +02:00
Sébastien Loriot 5ed3b0d266 Merge remote-tracking branch 'cgal/6.0.x-branch' in master 2025-03-31 15:32:56 +02:00
Sébastien Loriot a838073ec7 Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch 2025-03-31 15:31:19 +02:00
Sebastien Loriot bcaeb64f54
Warning / compilation fixes for 5.6.x (#8798)
## Summary of Changes

Fixes warnings/errors. Quite a few are just cherry picking fixes that
were done in master.

## Release Management

* Affected package(s): Various
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2025-03-31 10:18:14 +02:00
Mael Rouxel-Labbé e38e29f279 dont > don't 2025-03-28 20:52:22 +01:00
Sébastien Loriot 2a25a6080e use exception 2025-03-27 18:51:01 +01:00
Sébastien Loriot 0a462f3b90 address more review points 2025-03-27 18:15:51 +01:00
Sébastien Loriot e3b813389d rename 2025-03-27 16:11:18 +01:00
Sébastien Loriot b99c75acaf rename function 2025-03-27 14:45:11 +01:00
Sébastien Loriot 0e8bfaacc3 take review into account 2025-03-27 14:33:23 +01:00
Sébastien Loriot fc3299462d improve description and update function name 2025-03-27 13:50:31 +01:00
Sébastien Loriot b6ed04c883 hide concurrency flag 2025-03-26 09:42:26 +01:00
Sébastien Loriot 84ee1f4f13 hide visitor and special traits in the doc 2025-03-26 00:11:26 +01:00
Sébastien Loriot 86bf5305c8 add a way to collect input coplanar faces after corefinement 2025-03-25 23:47:51 +01:00
Sébastien Loriot 546f823b48 replace split with plane with new implementation based on clip_with_plane 2025-03-25 22:25:42 +01:00
Sébastien Loriot 15da6dab19 replace clip with plane with new implementation based on clip_with_plane 2025-03-25 21:41:53 +01:00
Sébastien Loriot 9a4809e8d3 wording 2025-03-25 18:08:16 +01:00
Mael Rouxel-Labbé 691fd789f9 Merge remote-tracking branch 'cgal/master' into gsoc2022-isosurface 2025-03-24 21:34:55 +01:00
Mael Rouxel-Labbé ad7f8d3041 Remove unused variables 2025-03-23 23:54:35 +01:00
albert-github 009a7963a8 Spelling correction
Spelling correction
2025-03-23 23:47:04 +01:00
Andreas Fabri dd99f3d526 PMP: Initialize to avoid warning 2025-03-23 23:46:50 +01:00
Sébastien Loriot 8abe5b0c23 make it work with Polyhedron 2025-03-19 19:47:08 +01:00
Sébastien Loriot 2e070b304a qem required Eigen 2025-03-19 16:50:52 +01:00
Léo Valque fddc0aa400 Change name of internal functions 2025-03-19 11:35:42 +01:00
Léo Valque 32f07e7d7a Move the mutex inside the class Indexes_range who using it 2025-03-19 11:12:13 +01:00
Léo Valque 0009f99680 Debug the visitor of triangle_soup_snap_rounding 2025-03-19 09:52:54 +01:00
lvalque cc593c35d8 Merge branch 'CGAL:master' into PMP_triangle_soup_rounding-GF 2025-03-18 15:47:50 +01:00
Mael Rouxel-Labbé d56fe72d33 Avoid some copies in loop iterating over maps 2025-03-18 09:33:46 +01:00
lvalque 26debef54a Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2025-03-18 09:03:20 +01:00
Mael Rouxel-Labbé 1c3ecfa2dd Update API from linear_subdivision to Loop/CatmullClark + NP 2025-03-17 17:14:51 +01:00
Léo Valque aa765c2332 Add variant where cluster of points are round to the closest of them to the voxel center instead of the voxel center 2025-03-14 13:58:45 +01:00
Léo Valque 5404b37aa2 correct typo in function name 2025-03-13 19:04:13 +01:00
Léo Valque ebbd529ef6 Modify soup_triangles_snap_rounding to support a visitor 2025-03-13 18:57:12 +01:00
Sébastien Loriot 1860c08586 address more review points 2025-03-04 13:51:06 +01:00
Léo Valque 765aa430a2 Fix warnings and compile error 2025-03-04 11:41:29 +01:00
Sébastien Loriot 0b55dc477d look for a feature edge around the vertex 2025-03-03 20:37:08 +01:00
Léo Valque 4200d928ff Reduce default number of iterations 2025-03-03 16:03:55 +01:00
Léo Valque f615b6537d missing word in the doc 2025-03-03 15:33:36 +01:00
Léo Valque 15e80b0a78 solved conflict 2025-03-03 15:26:25 +01:00
lvalque b99ae574d1 Clean doc autorefine snap_grid_size description
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-02-28 11:45:47 +01:00
lvalque 05ecac919d Clean doc autorefine return description
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-02-28 11:45:00 +01:00
lvalque 88bad8a2e5 Clean doc autorefine
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-02-28 11:44:23 +01:00
Léo Valque 3b29156f29 Bug solved: Shift before ceil was in the wrong direction 2025-02-25 09:41:09 +01:00
Mael Rouxel-Labbé a1763eee4e Use linear mask/subdivision 2025-02-20 11:10:19 +01:00
Mael Rouxel-Labbé 4719b55db6 Tiny doc fixes 2025-02-20 10:06:25 +01:00
Mael Rouxel-Labbé b0be5427a4 edge_length needs a gt too 2025-02-20 10:06:09 +01:00
Léo Valque 20e54eb8fd reintroduced #ifdef CGAL_LINKED_WITH_TBB 2025-02-20 09:14:01 +01:00
Sébastien Loriot 399c46bc7f more clean-up 2025-02-20 07:28:30 +01:00
Sébastien Loriot 0a17d90841 use edge_length 2025-02-20 06:53:08 +01:00
Sébastien Loriot 3e34b08746 clean up 2025-02-20 06:50:23 +01:00
Sébastien Loriot ee034985c3 fix missing include for CI 2025-02-20 06:33:57 +01:00
Léo Valque 0bbaa2a661 replace #ifdef CGAL_LINED_WITH_TBB by constexpr 2025-02-19 17:33:57 +01:00
Mael Rouxel-Labbé 08e9a749b5 Complete headers 2025-02-19 11:53:40 +01:00
Mael Rouxel-Labbé 6956f56416 Clean code 2025-02-19 11:53:31 +01:00
Léo Valque 09239da179 rename snap_polygon_soup to triangle_soup_snap_rounding and fix bug in snap_polygon_soup.cpp 2025-02-19 11:36:20 +01:00
Sébastien Loriot a26733aeed cosmetic cleanup + dynamic 2025-02-19 08:18:28 +01:00
Sébastien Loriot faa93e2894 paste some comments from Sebastien Valette 2025-02-19 07:48:10 +01:00
Léo Valque 9b84d4c73c rename do_snap to apply_iterative_snap_rounding, remove trailing whitespace 2025-02-17 18:09:04 +01:00
Léo Valque ac7bf3c45f Doc modification of autorefine and Polygon mesh processing 2025-02-17 15:44:10 +01:00
Léo Valque d4e66753ad made snap polygon soup an option of autorefine_triangle_soup 2025-02-17 14:17:45 +01:00
Sébastien Loriot b920c18b73 fix compilation error 2025-02-14 23:24:50 +01:00
Sébastien Loriot 7eae4f36e6 comment on topology 2025-02-14 23:01:54 +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 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 837dfc45ab fix pmap for curvature based version 2025-02-13 00:43:58 +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
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
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
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
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
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é 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
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 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
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