Open makeclean opened 11 years ago
make_watertight should not further damage already water tight models, it should however have a beneficial action upon non watertight models. Currently on a non-watertight model the code does nothing, it performs various "fixing" actions but does not write these changes to file. In both our stand alone version and the meshkit version.
Given the fixes to remove the segfault problems 513b71c383ce528fcb43dc3d8cde392628614955, we can now focus investigation to issues as to why the models are not modified when the model is not watertight.
Test case 1, faceting tolerance 1.0e-2, produces the facet file shown in red, introducing a 0.1 deviation in the z coordinate of the last vertex produces the green.
Zooming into the offset region,
The desired behavior is that check_watertight determines that the model is not watertight at this tolerance, and then make_watertight should fix that vertex.
faceting tol | 1.0e-1 | 1.0e-2 | 1.0e-3 |
---|---|---|---|
check_watertight | watertight | not watertight | not_watertight |
make_watertight | no changes | no changes | no changes |
So the correct behavior would be to make no changes to the model for a faceting tolerance of 1.0e-1, but to fix the changes for other faceting tolerances.
In case it wasn't clear, a faceting tolerance of 1.0 causes many things to break down, originating from weird faceting from CGM.
Determine the proper functioning of make_watertight on models that are water tight and those that are not water tight.