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
## 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
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
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
## 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