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 edge_distance criterion : an upper bound for the distances of the feature edge to the input feature #7532

Merged

Conversation

ange-clement
Copy link
Member

@ange-clement ange-clement commented Jun 19, 2023

Summary of Changes

Fixes issue #5110.
Adds a edge_distance criteria to the mesh generation process.
This criteria is an upper bound for the distance from the edge to the 1D feature.

Release Management

@janetournois
Copy link
Member

This PR will fix issue #5110

@janetournois
Copy link
Member

janetournois commented Jun 19, 2023

I'm adding a first todo-list

  • compute the distance between a feature edge midpoint and the corresponding feature, and test it
  • make sure this new criterion does not conflict with edge_min_size
  • transform edge_distance into a sizing field, similarly to facet_distance
  • add an example or modify an existing one
  • add a test or modify an existing one
  • write documentation of the new named parameter in Mesh_criteria_3
  • write documentation in Mesh_edge_criteria_3
  • add edge_distance option to the meshing dialog in the demo

@ange-clement
Copy link
Member Author

image
Results on anchor.off without then with edge distance criterion.
Curved features have smaller balls than straight ones.

Ange Clement added 6 commits June 21, 2023 11:36
…t_sigma-jtournois' into Mesh-3-edge-distance-criterium-aclement
…ion.cpp to test the creation with or without a SizingField - Modified test_meshing_determinism.cpp to test determinism of mesh creation - Added test_max_edge_distance.cpp that estimate number of vertices and facets and test that it is greater than without the parameter
@janetournois janetournois marked this pull request as ready for review June 23, 2023 07:48
@janetournois

This comment was marked as outdated.

@ange-clement ange-clement changed the title framework for edge_distance criterium Mesh_3 edge_distance criterium : an upper bound for the distances of the feature edge to the input feature Jun 23, 2023
@github-actions

This comment was marked as outdated.

@ange-clement

This comment was marked as outdated.

@lrineau

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@janetournois
Copy link
Member

/force-build:v0

@github-actions
Copy link

The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/7532/v0/Manual/index.html

@janetournois
Copy link
Member

I can't reproduce the runtime errors, even using the same random seed. @ange-clement can you reproduce the error?

@afabri
Copy link
Member

afabri commented May 7, 2024

I could reproduce it after 5 runs. As it is in Release mode but as there is an assertion I removed the NDEBUG.

In fact I get another but similar exception than in the testsuite, namely:

Assertion failed: min_vertices_expected <= c3t3.triangulation().number_of_vertices(), file C:\GitHub\cgal\Mesh_3\test\Mesh_3\test_meshing_utilities.h, line 218

(from 745 to 893 in my experiments)
so testing their number wrt a reference value does not make much sense

This commit changes to test not to test meshing without comparing nbv and nbf
in parallel mode
@afabri
Copy link
Member

afabri commented May 12, 2024

What variations do you observe. Do you now test that it is between 0 and maxint?

@janetournois
Copy link
Member

The range for the number of vertices (in my experiments) is too wide (+/-20% around average value) so imho it does not make much sense to choose arbitrary bounds to test them.
The test function does more than checking the nb of vertices and facets, and it's used this way elsewhere, so let's do the same.

@sloriot
Copy link
Member

sloriot commented May 15, 2024

Successfully tested in CGAL-6.0-Ic-242

Copy link
Member

@lrineau lrineau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have reviewed this pull-request. I would like to say I approve the documentation (except maybe a doubt about a wording, see the comment). But I am not sure about the implementation. I would like to do a peer-review with Ange.

Mesh_3/test/Mesh_3/test_max_edge_distance.cpp Show resolved Hide resolved
Mesh_3/include/CGAL/Mesh_edge_criteria_3.h Show resolved Hide resolved
@lrineau lrineau added the pre-approved For pre-approved small features. After 15 days the feature will be accepted. label May 17, 2024
@github-actions github-actions bot removed the Tested label May 22, 2024
Copy link

This pull-request was previously marked with the label Tested, but has been modified with new commits. That label has been removed.

@lrineau lrineau removed the Not yet approved The feature or pull-request has not yet been approved. label May 22, 2024
@lrineau lrineau added the Tested label May 22, 2024
@lrineau
Copy link
Member

lrineau commented May 22, 2024

This pull-request was previously marked with the label Tested, but has been modified with new commits. That label has been removed.

We have only modified the CHANGES.md file, in 1bc9fed. This PR can be considered as tested.

And approved.

@sloriot sloriot added Accepted small feature and removed pre-approved For pre-approved small features. After 15 days the feature will be accepted. labels May 27, 2024
@sloriot sloriot merged commit d06a57a into CGAL:master May 27, 2024
9 checks passed
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.

Mesh_3: add an approximation criterion to the protecting balls algorithm
7 participants