Refactor and optimize beziers
Brought to you by:
soulvoid,
surfineurope
The bezierspline class currently contain way too much functionality, This could be split up into several classes based on s and tt parametrization among other.
Remove functions for calculation on a scaled bezierspline, use a copy of the spline and scale it instead.
Every time a call is made to a function that does something with a bezier, the a, b, c and d coefficients are recalculated. This overhead could be reduced by marking the bezier as 'dirty' when a point is changed and the coefficients should be recalculated when needed when the bezierspline is dirty. Note that the dirty flag should be signaled to notify the board/surface model of a change.
Implemented