triplus wrote:Points would likely end up being knots?
Not really. Knots will be, this new "concept" I invented, "construction points". Construction points are not solver parameters (well there are, there are fixed parameters, but it is easier to think as if they weren't), thus can not be moved by the solver and can not be constrained. They serve different purposes:
1) Avoid extremely complex solver implementations (as for example, moving a knot).
2) Allow selection of a knot for operation via OCC (knot removal, insertion, multiplicity increase/decrease)
3) Simplify any possible future implementation of solver (for example to deal with point on curve, but not taking into account moving of knots)
This does not mean that they are amovable, they are movable via OCC, not movable via the solver. I plan to provide appropriate dragging of knot construction points.
triplus wrote:length between the segments would be the same?
Nothing warranties segments will be the same length. But using knots is an inferior solution as it would require a higher number of segments, which would result in a more difficult to handle bspline.
triplus wrote:Solver would need to get involved?
There are three possibilities:
a) One clicks on the curve to approximate during creation. There are no real points created (just some line for example connecting points). The array of points given by the user is fed into an approximation function of OCC. A BSpline is created as a best fit. You can tweak it (poles, knots, weights, mults...), but nothing guaranties that it will continue fitting the points after tweaking it (solver no required).
b) The same as a), but it is not a creation method, the user inserts points in the sketcher, then selects the points he wants to approximate, a toolbar button is hit that creates a bspline that approximates the points. Same problem as before, you can tweak it, but nothing guaranties fitting after tweaking. As you still have the points (which you can lock), if you fedup of your tweaks you can just select your points and approximate again (solver no required).
c) Not for today, but if/when point on object is implemented, then is like b), but the points are point on object on the BSpline, so it should guarantie interpolation at the point (not necessarily fitting, as fitting may be with a degree of tolerance and point on object does not have any) (solver required).
I am aiming for b) in the short term. If Point on Object is ever implemented, c) should be straight-forward.
I think I have replied to the other points indirectly. If you have more questions let me know.