Split internal edges connecting bdy points (mmg3d lag). #236
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR:
73ae8fe7e
). Erroneous check was added by commit5384387d7
under the erroneous assertion that boundary edges belonging to boundary faces are always marked asMG_BDY
. It is not the case as at least pattern splitting are created regular boundary edges with no tags and as tetra without boundary faces may have edges along the boundary and either no xtetra, or a xtetra with a 0 tag for the edge or a xtetra whith suitable edge infos.History
In oct 2028, probably linked to a bug report from a user, commit
5384387d7
attempts to authorize the split of internal edges connecting boundary points while forbidding split of bdy edges but the detection of the boundary edges was erroneous. 2 cases were forbidden:In Nov 2020, again probably linked to a bug report from a user, the commit
73ae8fe7e
has reintroduced the test over the boundary extremities to forbid the split of boundary edges (forbidding the split of internal edges connecting boundary nodes at the same time).Test case
I have not founded the inital test cases or a test case where the previous commits are creating visible errors so I attach a simple test case with an attempt to highlight potential issues.
lagMot.tgz
Mmg is run in lagrangian mode with remeshing allowed (
-lag 2
) :Split of internal edges connecting boundary nodes
The following patch is applied to highlight the too strict ban of edge splitting :
intEdge-bdyPts.patch.
The tetra 256 for example is totally constrained as it has all its vertices along boundaries.
We would like to authorize the split of the internal edges of this tetra.
Wrong detection of boundary edges
On the current test case, there are no boundary edges that should be splitted and that are detected as the longest of the tetra so it is not possible to show a split that should be avoid.
Though, we can highlight that boundary edges are found after the test that should skip them (patch
bdyEdg-noTag.patch.
For example, the following picture shows such an edge and the tetra from which it is not detected as boundary by initial test but it is by the new one.