The edge length computation in Mmg3d contains some inconsistencies and needs to be tested and cleaned:
for isotropic metric, it seems that we always compute the "straight" edge length;
for anisotropic metric:
the "straight edge length is computed along internal edges
along boundary edges:
we may compute the "curve" length along edges marked by the MG_BDY tag
or the straight length:
because the tag is missing (we are not able to ensure the update of this tag everywhere)
because we are on a boundary edge belonging the a tetra without any boundary faces and without an xtetra (I am sure that such edges exists but not sure that we attempt to compute their lengths however)
because we are inside an operator when tags are not yet updated
Moreover, the readibility of this part the code needs to be improved (function names not very meaningful and complex function pointer digram)
Steps
[ ] function renaming to make them easier to understand
[ ] pointer function cleaning if possible
[ ] comparative tests of the effect of straigth edge length computation instead of curve one along boundary edges for anisotropic metric
[ ] comparative tests of the effect of straigth edge length computation instead of curve one along boundary edges for isotropic metric
[ ] documented choice between straight and curve edge length computation along boundary edges
The edge length computation in Mmg3d contains some inconsistencies and needs to be tested and cleaned:
MG_BDY
tagMoreover, the readibility of this part the code needs to be improved (function names not very meaningful and complex function pointer digram)
Steps