private float ArcLen(float t)
        {
            int curve;

            if (t >= 1f)
            {
                t     = 1f;
                curve = (m_spline.ControlPointCount - 1) / 3 - 1;
            }
            else
            {
                t     = Mathf.Clamp01(t) * m_spline.CurveCount;
                curve = (int)t;
                t    -= curve;
            }

            return(m_spline.GetLengthAS(curve, t, m_error));
        }