Fixes T74195
I also added a few more comments to the code as I gone along.
Differential D7214
Fix Solidify Complex Dissolve Crash (fixes T74195) Authored by Henrik Dick (weasel) on Mar 22 2020, 7:41 PM.
Details
Fixes T74195 I also added a few more comments to the code as I gone along.
Diff Detail
Event TimelineComment Actions Crash is fixed indeed, however now with high resolutions (15 or more), the letters shape start to get badly affected, which does not happen with the 'simple' method... No idea whether this is a limitation of the complex method? It seems to be merging too much when input geometry density gets high? Comment Actions The merging behaviour is intended to handle degenerate cases. If your mesh is really tiny this will occur. I could expose the Merge Threshold, but changing it could lead to serious precision problems everywhere in the code. It is recommended to scale the mesh up in editmode and scale it down in object mode. That will fix this problem without exposing the Threshold. Comment Actions I would not consider file in T74195 as unreasonably small, it's 0.05 units wide, which means that at somewhat high level of subdivision you get edges in the 0.0001 area, I would expect this to be working still. So yes, think exposing the merge threshold would be a good thing (also because we do it in lots of other places in Blender). In any case, we are working with floating numbers here, so as long as the size of the details is not to small compared to the whole model size (or rather, offset from origin), there should be no issue. If you really do not want to expose the threshold to users, then it should at least be computed e.g. relative to the farthest away vertex from origin. Other issue with this merge is that it seems to be weirdly cumulative, ending merging whole big chunks of the geometry, which should not happen imho. I should probably create another report for that issue though, as it is not related to that fix. patch itself LGTM, will commit, thanks. |