Final knot value greater than total length

Hi,

I have a PolylineCurve, which one point was moved by the gumbal, and thus the curve was shortened form 6 meters to 2.249 meters. When I try to find discontinuity G1 locus continuous, the final parameter is given on a distance of 6.00012 (original length) while the new length of the curve was not given correctly. Eventually I end up with final knot in different place than total length of the curve. Can you advise if I’m doing something wrong here?

Rhinoceros 6 beta

image

            var discontinuities = new List<double>();
            var t0 = curve.Domain.T0;
            var t1 = curve.Domain.T1;

            discontinuities.Add(0);
            while (curve.GetNextDiscontinuity(Continuity.G1_locus_continuous, t0, t1, out t0))
            {
                discontinuities.Add(t0);
            }

Another issue that I have is, that knot value is often slightly greater than curve length. I am also not sure if this is a bug or expected behaviour.
image

Knots values are not related to length. The fact that they do have values equal to the length when a polyline is first drawn has to do with the chord length parameterisation that is used. It is perfectly legal to create a polyline in NURBS form with a total length of 100, having 6 knots with values of say [-4, -3, -2, -1, 0, 0.1]. Knot values are only saying something about how fast the parameter changes from control point to control point.

Yes, I was thinking, that knots gets updated when modiffications to the NURBS are done. Thanks for explanation.