As usually happens, the arc fitting ended up being more tricky than I initially figured. It turns out that finding an arc is easy, finding a “good” arc is hard. Right now the code is working well enough for me to call it a good first release. To get to this point I had to throw a lot more math at the problem so it slowed down more than I wanted. Coincidentally, I just got a new quad core laptop and I’m looking at only one active core during that arc fitting- definitely not good. Since my waterline code is ripped apart right now I decided to just take the plunge and enable multithreading for waterline in the next release.
I’ve already partitioned all of the work so that each layer can be assigned to a different core. All that’s left is to fix the bugs I added in doing that, add the 50 lines of code it will take for the other threads and test. It shouldn’t take too long and the results will be good.