This is a two stage process: first allow the argument path to be a SplineModel consisting of only Curve objects, secondly to allow the argument shape to be a (curve-)SplineModel.
This is somewhat more involved than #105 in the sense that you need the connectivity information. Since it is using normals and binormals to compute the path offset, these are almost certain to be discontinuous across neighbouring curve pieces. A solution to this is to use the average value for the computations. This requires neighbouring information which is contained in the SplineModel class.
This is a two stage process: first allow the argument
path
to be aSplineModel
consisting of onlyCurve
objects, secondly to allow the argumentshape
to be a (curve-)SplineModel
.This is somewhat more involved than #105 in the sense that you need the connectivity information. Since it is using normals and binormals to compute the path offset, these are almost certain to be discontinuous across neighbouring curve pieces. A solution to this is to use the average value for the computations. This requires neighbouring information which is contained in the
SplineModel
class.