/// <summary>
        /// Adds a control point to the curve.
        /// </summary>
        /// <param name="input">The curves input value.</param>
        public void Add(double input)
        {
            if (!ControlPoints.Contains(input))
            {
                ControlPoints.Add(input);
            }

            ControlPoints.Sort(delegate(double lhs, double rhs)
            {
                return(lhs.CompareTo(rhs));
            });
        }