Esempio n. 1
0
        /// <summary>
        /// Remove portions of the curve outside the specified interval.
        /// </summary>
        /// <param name="p0"></param>
        /// <param name="p1"></param>
        /// <param name="failReason"></param>
        /// <returns></returns>
        public CurveNormalized Trim(Percent p0, Percent p1, out string failReason)
        {
            failReason = "";
            Curve res = null;

            if (p0.is0percent() && p1.is100percent())
            {
                res = Crv;
            }
            else
            {
                var t0 = T(p0);
                var t1 = T(p1);
                res = Crv.DuplicateCurve().Trim(t0, t1);
            }
            if (res == null)
            {
                failReason = "failed to trim crv";
                return(null);
            }
            return(new CurveNormalized(res));
        }