Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mesh_3 - fix mesher using the one_step() loop #8072

Merged

Conversation

janetournois
Copy link
Member

Summary of Changes

The demo and one step are using Mesh_3 via its one_step() loop.

After inserting the initial points, the C3t3 may be invalid because point insertions have invalidated the cells and cells markers.
Before starting refinement, it is needed to reset the C3t3 by clearing it from its facets and cells. This is now done inside the constructor of Mesher_3, instead of inside refine_mesh_3().

It hence becomes robust to any custom initialization.

Notes :

  • this vulnerability has been revealed at the merge of PR Mesh_3 - improve initialization when features are inserted #7280, that inserts more vertices to complete initialization
  • this PR also adds a condition in init_c3t3() that ensures that no vertices are inserted inside protecting balls
  • this PR fixes the use of the demo for the following pipeline : open a off file + Operations->Create Surface Triangle Mesh (default parameters) that was crashing
  • Mesh_complex_3_in_triangulation_3.h has moved from Mesh_3 to SMDS_3 in CGAL-5.6, and this PR fixes only internal and demo code, so this PR targets the 5.6.x-branch

Release Management

  • Affected package(s): Mesh_3
  • License and copyright ownership: unchanged

…her_3

to make sure the input c3t3 is fully clean before starting refinement
we actually need to clear C3T3 from all facets and cells, including the infinite ones.
Indeed, extra point insertions during (e.g.) the initialization step may have made
invalid the metadata in all cells, including the infinite ones
@sloriot
Copy link
Member

sloriot commented Mar 21, 2024

Seems to break generators, periodic_3, smds, ...

@afabri
Copy link
Member

afabri commented Mar 22, 2024

Unused argc and argv in testsuite

@sloriot
Copy link
Member

sloriot commented Mar 25, 2024

Successfully tested in CGAL-6.0-Ic-200

@lrineau lrineau added the rm only: ready for master For the release team only: that indicates that a PR is about to be merged in 'master' label Mar 25, 2024
@lrineau lrineau self-assigned this Mar 25, 2024
lrineau added a commit that referenced this pull request Mar 26, 2024
…tournois

Mesh_3 - fix mesher using the `one_step()` loop

# Conflicts:
#	Mesh_3/include/CGAL/Mesh_3/Triangulation_helpers.h
@lrineau lrineau merged commit a0a9d42 into CGAL:5.6.x-branch Mar 26, 2024
8 checks passed
@lrineau lrineau removed the rm only: ready for master For the release team only: that indicates that a PR is about to be merged in 'master' label Mar 26, 2024
@lrineau lrineau deleted the Mesh_3-use_one_step_loop-jtournois branch March 26, 2024 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants