Commit Graph

6554 Commits

Author SHA1 Message Date
lvalque f588a1506b Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-04-08 10:52:05 +02:00
lvalque 2cf7cef912 Update Polygon_mesh_processing/doc/Polygon_mesh_processing/Concepts/PMPAutorefinementVisitor.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2025-04-08 10:39:53 +02:00
albert-github c6e12be212 Spelling corrections
Spelling corrections
2025-04-04 09:48:20 +02:00
Sébastien Loriot cc77715588 Merge pull request #6849 from JulyCode/gsoc2022-isosurface
Isosurfacing_3 (new package)
2025-04-03 21:41:22 +02:00
Léo Valque 3cdcc73201 clone test_autorefinement.cmd to test_snap_rounding.cpp to test snap_rounding 2025-04-03 19:32:13 +02:00
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 80265d0e54 factorize snap_polygon_soup 2025-04-03 11:42:31 +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 25f7014350 in some case with needle, some non-manifold faces can be created even with a decent nb of points 2025-04-01 14:42:46 +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
Sébastien Loriot 9285e5c230 add empty line 2025-03-31 09:01:38 +02:00
Mael Rouxel-Labbé e38e29f279 dont > don't 2025-03-28 20:52:22 +01:00
Mael Rouxel-Labbé 7970fb99e7 later > latter 2025-03-28 20:41:37 +01:00
Mael Rouxel-Labbé e5dce8d04b More ouput > output 2025-03-28 20:37:48 +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
Sébastien Loriot 113079a8f8 add test 2025-03-19 16:45:41 +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
Léo Valque 3a0c0980ee add delete_triangle function to the visitor of test_autorefinement 2025-03-18 15:50:16 +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 dbee57b896 protect macro 2025-03-04 10:01:46 +01:00
Sébastien Loriot d4fa45f376 add test from the issue 2025-03-03 20:43:54 +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
Léo Valque 5d3ec39dd1 Add more soup information in snap_polygon_soup.cpp 2025-02-24 15:25:22 +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 fc10777397 lost Mael's rewriting suggestion 2025-02-20 07:48:12 +01:00
Sébastien Loriot 58b494da37 auto -> Mesh 2025-02-20 07:32:04 +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 10f542d889 remove seeds 2025-02-19 08:18:07 +01:00
Sébastien Loriot faa93e2894 paste some comments from Sebastien Valette 2025-02-19 07:48:10 +01:00
Léo Valque 139e047595 remove trailing whitespace 2025-02-17 18:14:42 +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 9f7dd164f8 left over after example renaming 2025-02-14 23:19:17 +01:00
Sébastien Loriot 7eae4f36e6 comment on topology 2025-02-14 23:01:54 +01:00
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