Commit Graph
5289 Commits
Author SHA1 Message Date
albert-github 0d30924acf Spelling corrections
Spelling corrections
2026-02-13 14:09:48 +01:00
Sebastien Loriot f6014dcc26 Add functions to compute the kernel of a triangle mesh (#9131)
Add functions to compute the kernel of a mesh

## Release Management

* Affected package(s):  `PMP`, `BGL`
* Issue(s) solved (if any): 
* Feature/Small Feature (if any):
[Mesh_Kernel](https://cgalwiki.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Mesh_Kernel)
* Link to compiled documentation (obligatory for small feature) [*wrong
link name to be changed*]()
* License and copyright ownership: GF
2026-02-13 13:45:32 +01:00
Sébastien Loriot 715b680a88 copy/paste error 2026-02-13 12:25:21 +01:00
Sébastien Loriot a4648a7d15 typo 2026-02-13 12:24:36 +01:00
Laurent Rineau f498226561 fix conflicts (merge 'cgal/main') 2026-02-12 10:02:05 +01:00
lvalque d2c0d5e93f Merge branch 'main' into PMP-kernel 2026-02-05 10:14:12 +01:00
albert-github 24ff0da93c Spelling correction
Spelling correction
2026-02-03 14:40:02 +01:00
Sebastien Loriot 7026e03d94 Polygon mesh snapping improvements (#9266)
## Summary of Changes

A few improvements for the experimental polygon mesh snapping functions
of PMP.

TODO:
- Add new regression tests

## Release Management

* Affected package(s): `PMP`
* Feature/Small Feature (if any): n/a
* License and copyright ownership: no change
2026-02-03 14:22:13 +01:00
Valque Léo 8db6ce4bcf update CHANGES.md 2026-02-02 17:46:26 +01:00
Valque Léo 855d0f1a53 Make rng of kernel more clean and document how to set it 2026-02-02 17:09:40 +01:00
Valque Léo 2c3f4ce86a Merge doc of kernel() in one place 2026-02-02 16:54:57 +01:00
Laurent Rineau d0a6e51554 fix conflicts (merge 'cgal/main' ) 2026-01-30 16:38:49 +01:00
Valque Léo 8bfca2b43c Fix doc error pointed by albert 2026-01-30 15:38:22 +01:00
Valque Léo a8df56a137 Solved merged conflict 2026-01-29 08:45:04 +01:00
Valque Léo d38938ce9a Apply suggestions from the review 2026-01-29 08:41:51 +01:00
lvalqueandMael 2e53e621f2 Apply suggestions from code review
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
2026-01-28 11:36:08 +01:00
Valque Léo 9c83af3566 Change has_kerel_empty to has_empty_kernel 2026-01-26 08:36:57 +01:00
Valque Léo 422c1427f5 Change is_kerel_empty to has_kernel_empty 2026-01-26 08:23:22 +01:00
Valque Léo ad0d5e586f Correct documentation and add Code of f2f_map 2026-01-23 18:33:38 +01:00
Valque Léo d674aaa541 face_to_face_map parameter added 2026-01-23 00:56:28 +01:00
Valque Léo 7b05e71abf Documentation refined with Mael 2026-01-22 17:07:01 +01:00
Valque Léo 45cb44685b Apply suggestions from the review 2026-01-21 17:52:15 +01:00
Valque Léo eb3e0cdd55 make Three_point_cut_plane_traits internal 2026-01-21 10:56:56 +01:00
Valque Léo 7aa642e729 Merge branch 'PMP-kernel' of github.com:sloriot/cgal into PMP-kernel 2026-01-21 10:03:08 +01:00
Valque Léo bb76754ea5 Apply suggestions and solve segfault of the testsuite 2026-01-21 10:03:00 +01:00
lvalqueandSebastien Loriot 3c513054bb Apply suggestions from code review
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2026-01-21 08:20:33 +01:00
Valque Léo 76f9586e4b include enum and origin in three_point_cut_plane_traits 2026-01-20 18:20:36 +01:00
Valque Léo e7a4da9ecf Add suggestions of the review and bug corrections 2026-01-20 17:44:56 +01:00
Valque Léo f13d75cf34 Solved conflict with master 2026-01-20 12:47:40 +01:00
Valque Léo f4e68c092c Tests and correction for the testsuite 2026-01-20 12:43:56 +01:00
Valque Léo ed794fe689 add test_mesh_kernel 2026-01-19 19:50:23 +01:00
Valque Léo 0a5ee5cf6f Transform kernel documentation and correct degenerate case implementation 2026-01-19 17:10:22 +01:00
Sebastien Loriot 0dee36c764 Better flip-check criterion for almost degenerate face removal (#8743)
## Summary of Changes

While trying to remove caps, `PMP::remove_almost_degenerate_faces()`
does a Delaunay-like check before allowing the edge flip. Unfortunately,
the current criterion (see https://github.com/CGAL/cgal/pull/7125) can
prevent some edge flips that would resolve a cap because sometimes this
Delaunay-like criterion can prefer a cap if it is balanced by a very
small angle on the other side. Then you have alpha + beta < 180 and
you're stuck with the cap, but maybe you would have liked to flip still
because the largest angles created by a flip would be e.g. 120 and 120,
which is not that bad.

However in this function, we are maybe not so interested in having
nicely shaped elements as much as we are trying to remove the worst
elements. So this PR tries to improve the worst cap angle instead, by
checking only (and greedily) if we do not create a worse cap angle when
we flip.

This produces better results for the cases that were problematic with
alpha + beta < 180

## 1

![image](https://github.com/user-attachments/assets/313b8c1f-8ea4-4153-a41b-406f16d4153c)

## 2

![image](https://github.com/user-attachments/assets/cb74230a-70c1-4ef9-bb73-378331cd1626)

## 3

![image](https://github.com/user-attachments/assets/b31ec7f7-21b0-49c1-bb69-2174f0e5bf86)


## Release Management

* Affected package(s): `PMP`
* Issue(s) solved (if any): 
* Feature/Small Feature (if any): - 
* License and copyright ownership: no change
2026-01-19 09:34:20 +01:00
Valque Léo 8cf0d6770a Specific code for degenerate kernels 2026-01-16 16:28:38 +01:00
Sebastien Loriot e4c7b16aea Spelling corrections (#9276)
Spelling corrections
2026-01-15 18:24:53 +01:00
Sebastien Loriot fa97cf5f6c Fixes for decimate multimesh fixes (#9278)
Fix undocumented function simplifying meshes with common interface, not
only common boundaries

This will fix the plugin as well
2026-01-15 18:22:59 +01:00
Mael 31a072e7a6 Add a comment 2026-01-15 18:01:28 +01:00
Mael Rouxel-Labbé 7d3eba406a Tiny order fix 2026-01-15 13:16:34 +01:00
Mael Rouxel-Labbé e28b9df3a8 Use functor objects 2026-01-15 13:15:34 +01:00
Mael Rouxel-Labbé c951974905 Restrict the new flip criterion to repair_almost_degen only + simplify 2026-01-15 13:11:45 +01:00
Sébastien Loriot d49cc10732 fix warnings 2026-01-15 13:03:10 +01:00
Valque Léo 9b8b2df547 Move clip_convex in internal folder 2026-01-15 10:17:06 +01:00
Valque Léo dde58aadbe Clean clip_convex and make clip_convex a parameter of clip 2026-01-15 10:02:35 +01:00
Valque Léo 77fac78c24 Solved conflict 2026-01-14 21:01:42 +01:00
Valque Léo c19a60c42a separate clip_convex in three_functions: crossing_edge, refine_convex_with_plane and remove_and_fill 2026-01-14 21:00:30 +01:00
lvalqueandAndreas Fabri f56e1074fe Apply suggestions from code review
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2026-01-14 17:33:33 +01:00
Sébastien Loriot e28fd6df3b by default we should not only consider boundary edges 2026-01-14 16:21:10 +01:00
Sébastien Loriot f20fbc9fa4 init dynamic maps in the get 2026-01-14 16:20:13 +01:00
lvalqueandAndreas Fabri 17664e2f74 Apply suggestions from code review
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2026-01-14 11:53:24 +01:00
Valque Léo dcede24fb8 Add an example for mesh kernel 2026-01-14 11:51:57 +01:00