/// <summary>
        /// Clones the limit.
        /// </summary>
        /// <returns>LinearCurve.</returns>
        public CurveLimit CloneLimit()
        {
            CurveLimit curveLimit = new CurveLimit(_curve);

            curveLimit._limit = _limit;
            return(curveLimit);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="CurveRange"/> class.
 /// </summary>
 /// <param name="curve">The curve.</param>
 /// <param name="defaultStartLimit">The default start limit.</param>
 /// <param name="defaultEndLimit">The default end limit.</param>
 internal CurveRange(
     Curve curve,
     CartesianCoordinate defaultStartLimit,
     CartesianCoordinate defaultEndLimit)
 {
     _limitStart = new CurveLimit(curve, defaultStartLimit);
     _limitEnd   = new CurveLimit(curve, defaultEndLimit);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CurveRange"/> class.
 /// </summary>
 /// <param name="curve">The curve.</param>
 public CurveRange(Curve curve)
 {
     _limitStart = new CurveLimit(curve);
     _limitEnd   = new CurveLimit(curve);
 }