Commit Graph

4324 Commits

Author SHA1 Message Date
Sébastien Loriot 060f81452a Merge remote-tracking branch 'cgal/5.5.x-branch' into HEAD 2024-08-19 11:19:24 +02:00
Sébastien Loriot 2c31defc65 backport f7a4836039 to the deprecated test 2024-08-13 16:14:23 +02:00
Jane Tournois a8debb0d2d Revert "Fix sometimes creating holes in the C3T3"
This reverts commit 06d272169f.

There may be an inconsistency between exact and inexact computations,
in the facet encroachment rule

This code was leading to a local infinite refinement loop during cells refinement
2024-04-11 14:16:41 +02:00
Jane Tournois ad98ab16b7 unused argc, argv 2024-03-22 10:22:48 +01:00
Jane Tournois 644d6493eb nearest_power_vertex() does not work on an empty triangulation 2024-03-21 16:33:26 +01:00
Jane Tournois 44e176b88a
unused typedef
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2024-03-21 16:13:30 +01:00
Jane Tournois 5b004ffbe6 add a test for one_step() loop with features on tiny data 2024-03-14 17:27:47 +01:00
Jane Tournois 80fd8759dd avoid insertion of points inside protecting balls, during initialization step 2024-03-14 16:40:28 +01:00
Jane Tournois 4e81649dd9 use set_surface_only() to be more explicit 2024-03-14 16:32:29 +01:00
Jane Tournois d085faba0c remove duplicate 2024-03-14 16:31:11 +01:00
Jane Tournois 83c88da327 move clear_cells_and_facets_from_c3t3() inside the constructor of Mesher_3
to make sure the input c3t3 is fully clean before starting refinement
2024-03-14 16:28:46 +01:00
Laurent Rineau f407ea44ee Merge pull request #8029 from janetournois/Mesh_3-edge_min_size-jtournois
Mesh_3 with `edge_min_size` - make uses of `curve_segment_length()` consistent
2024-02-16 18:02:36 +01:00
Sébastien Loriot 0e3074689b fix warning 2024-02-14 11:03:10 +01:00
Jane Tournois 51ebe945de fix the perturber doc, that was mixed with exuder (in 5.5, doc is valid) 2024-02-12 12:12:10 +01:00
Jane Tournois 34514d33f7 factorize code using curve_segment_length to one function
and use it everywhere
2024-02-12 11:46:33 +01:00
Sebastien Loriot eb659137e6
Mesh_3 - `edge_min_size` may cause hanging (#7863)
## Summary of Changes

When the criterion `edge_min_size` is set, the graph of features is
likely to be invalid or at least inconsistent with the input graph.
Checking its topology does not make any sense and could lead to hanging
when trying to compute polyline feature lengths (because it's trying to
walk on different curves, jumping from one to the other, etc).

This PR disables the check-features-after-protect step when
`edge_min_size` is used, since we anyway do not expect the feature graph
to be exactly matching the one of the input.

## Release Management

* Affected package(s): Mesh_3
* License and copyright ownership: unchanged
2023-12-22 17:15:37 +01:00
Jane Tournois a66e78a672 when curves topology is valid, use curve_segment_length 2023-12-15 15:52:02 +01:00
Jane Tournois 3ef2ce9163 check_and_repopulate_edges() reactivated with minimal size
disabling it may give too bad results
change the arc_length computation when minimal size is used, instead,
by approximating it by the segment length
2023-12-15 14:44:33 +01:00
Jane Tournois 7fa2db8dfc add helper function minimal_weight() 2023-12-14 19:01:57 +01:00
Jane Tournois 85b8da120d constify more 2023-12-14 15:36:57 +01:00
Jane Tournois 54677b388c set default minimal_size_ to -1 and add helper function to check if it is set 2023-12-14 15:35:06 +01:00
Mael Rouxel-Labbé b4d465ce85 Add a test 2023-12-05 22:34:00 +01:00
Jane Tournois e4e13e2f57 do not check the graph of features after protection when minimal_size is set
when minimal_size is set, the graph of features is likely to be invalid

or at least inconsistent with the input graph
so checking its topology does not make any sense and could lead to
- assertions failing in debug mode,
- hanging in release mode
2023-11-14 12:28:18 +01:00
Sebastien Loriot b2c6cec8af
A missing ref
Co-authored-by: Andreas Fabri <andreas.fabri@geometryfactory.com>
2023-09-12 11:08:21 +02:00
Sébastien Loriot ed521e03b0 rename macro 2023-09-07 17:33:41 +02:00
Sébastien Loriot dd383da307 avoid an infinite loop in the case the source of the ray in on the face 2023-09-07 17:33:17 +02:00
Laurent Rineau 820b1c5609 Merge pull request #7552 from MaelRL/Mesh_3-PMD_init_bug_fixes-GF
Fix initialisation issues in Mesh_3
2023-07-26 17:30:40 +02:00
Laurent Rineau fb64e68a2e Merge pull request #7552 from MaelRL/Mesh_3-PMD_init_bug_fixes-GF
Fix initialisation issues in Mesh_3
2023-07-26 17:29:25 +02:00
Mael Rouxel-Labbé 1f258bc84d Fix initialization failing if the ray's source is on the domain
This is a band aid fix, a proper fix is to rework the full initilization
pipeline. This is the purpose of the following pull request:
https://github.com/CGAL/cgal/pull/7606
2023-07-19 12:46:13 +02:00
Mael Rouxel-Labbé 0d3458504b Add some debug code 2023-07-12 10:47:17 +02:00
Mael Rouxel-Labbé 49bb14b6d2 Fix not rescaling some balls in 2D protection with non-zero minimal weight
The code break'd but did not restart if a special ball was encountered
2023-07-12 10:03:14 +02:00
Mael Rouxel-Labbé 6f65ecf246 Check the cached Boolean before doing more complex geometrical checks 2023-07-12 09:44:03 +02:00
Mael Rouxel-Labbé 39c0a9fb33 Fix returning no intersection for a ray with spawn in a triangle 2023-06-26 17:15:49 +02:00
Mael Rouxel-Labbé 308ee5c967 Minor debug readability improvements 2023-06-26 17:10:58 +02:00
Mael Rouxel-Labbé fbecb18f49 Fix bad comparison 2023-06-26 17:10:06 +02:00
Laurent Rineau 6e5070c302 Merge pull request #7523 from nmnobre/doc_segmentation
Fix typos in multiple manuals
2023-06-22 11:58:48 +02:00
Laurent Rineau 63398aa5a0 Merge pull request #7527 from janetournois/Mesh_3-fix_weighted_image_oracle-jtournois
Mesh_3 for weighted images - fix translated labeled image case
2023-06-22 11:58:45 +02:00
Nuno Miguel Nobre 0469f46105 Fix plurals in a number of manuals 2023-06-20 13:29:44 +01:00
Jane Tournois c9b04ebc97 apply input image translation to image with weights wrapper 2023-06-15 15:05:39 +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
Sébastien Loriot fd847c2351 only test parallel if TBB is installed 2023-05-09 18:40:22 +02:00
Jane Tournois a6224c75b4 fix compilation of new test after merge of master
and newly merged branch Mesh_3-sizing_field_with_aabb_tree-GF
2023-05-05 10:21:58 +02:00
Jane Tournois 73a7d4ff09 Merge remote-tracking branch 'cgal/master' into Mesh_3-min_size-jtournois
# Conflicts:
#	Installation/CHANGES.md
#	Polyhedron/demo/Polyhedron/Plugins/Mesh_3/Mesh_3_plugin.cpp
#	STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h
2023-05-05 09:17:33 +02:00
Mael 532b82cb9b
Merge branch 'master' into P3M3-Undocumented_polyhedral_domain_example-GF 2023-05-04 17:28:47 +02:00
Laurent Rineau 628d8ae43d Merge pull request #7307 from janetournois/Mesh_3-sizing_field_with_aabb_tree-GF
Mesh_3 - Document Sizing_field_with_aabb_tree
2023-05-04 17:22:59 +02:00
Laurent Rineau c2e24424d3 Merge pull request #7415 from janetournois/Mesh_3-triple_lines_with_sqrt-jtournois
Mesh_3 triple lines detection robustness
2023-05-04 17:22:46 +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
Laurent Rineau 1449281db9 Merge pull request #7264 from MaelRL/SLS-Weighted_skeleton-GF
Weighted straight line skeletons
2023-05-04 16:37:12 +02:00
Sébastien Loriot e0eac4f388 Merge remote-tracking branch 'cgal/master' into HEAD 2023-05-03 18:37:09 +02:00
Jane Tournois 75806c2497 add local macro for sqrt(17)
and const split_point to make sure the same point is used twice
2023-05-02 12:39:46 +02:00