Closed bpaniagua closed 3 years ago
I'm not sure I understand the problem you described. I did some testing on a torus, but I only found one case where the torus is handled incorrectly. @bpaniagua could you clarify the issue you described here?
In the case where the cut result should contain a hole, the hole seems to only be preserved if the result of the cut contains less than half the original mesh.
If I adjust the cutting plane to contain more than half the original shape, then the hole is not preserved.
All other orientations I tested seem to produce expected results.
I also did some tests on the torus with open regions in the source mesh.
Again, the only issue I found was the one described above.
Here are the two torus models (stl) for reference: tori.zip
From discussion with @bpaniagua:
This issue was requesting the triangulation filter be invoked iteratively as it is here: https://github.com/NIRALUser/SPHARM-PDM/blob/master/Modules/CLI/MetaMeshTools/MeshMath.cxx#L3845-L3966
At this point, however, this doesn't seem appropriate for EasyClip; the module is not meant as a tool to remesh models. There are also questions of what to do with particularly noisy open boundaries, where Delaunay triangulation would produce poor results. Better to explicitly cut the model and fill that newly cut region.
Closing this issue as that's the current behavior.
After the clipping operation, and when there are multiple open boundaries in the 3D model created by that clip, the close open boundary algorithm creating back a solid shape does not work - only the smallest simple connected boundary opening gets closed.
Maybe this could be solved by keeping record of all points in all new boundaries created by the clipping and making sure (via their neighbourhood polygons?) that they are no longer part of an open boundary after the close open boundary step.