The "0 Unofficial Part" can be anywhere in the definition at all (including the very end), and LDView will still treat the "file" as a part. However, it's probably best to put it near the top somewhere.
I don't think you can put the conditionals in the donor part, because the control points going to the next segment depend on the location of the points in the next segment.
My current "normals are approximately equal" check doesn't involve the angle between them at all, but checks the x, y, and z coordinates of both (normalized) normals to see that they are within some threshold. I wanted to test the new code quickly, and that was the fastest way to do so. I'll update it to do the dot product, then choose an appropriate threshold (perhaps 1 degree). Note that if I set my current threshold to .1, visually I can see that surfaces with 10-20 degree angles between them get smoothed, so 1 degree may not be as unreasonably big as it sounds.
I don't think you can put the conditionals in the donor part, because the control points going to the next segment depend on the location of the points in the next segment.
My current "normals are approximately equal" check doesn't involve the angle between them at all, but checks the x, y, and z coordinates of both (normalized) normals to see that they are within some threshold. I wanted to test the new code quickly, and that was the fastest way to do so. I'll update it to do the dot product, then choose an appropriate threshold (perhaps 1 degree). Note that if I set my current threshold to .1, visually I can see that surfaces with 10-20 degree angles between them get smoothed, so 1 degree may not be as unreasonably big as it sounds.