/// <summary>
        /// 选择插值器类型
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cbxInterpolatorType_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (cbxInterpolatorType.SelectedItem.ToString())
            {
            case "折线":
                _interpolatorType = enumInterpolatorType.Line;
                break;

            case "曲线":
                _interpolatorType = enumInterpolatorType.Curve;
                break;
            }
            _interpolator = InterpolatorFactory.GetInterpolator(_interpolatorType);
            this.CurveControl.Apply(_interpolator);
            this.CurveControl.Invalidate();
        }
示例#2
0
        public static IInterpolator GetInterpolator(enumInterpolatorType type)
        {
            switch (type)
            {
            case enumInterpolatorType.Line:
                return(new LineInterpolator());

            case enumInterpolatorType.Curve:
                return(new SplineInterpolator());

            case enumInterpolatorType.Log:
                return(new LogInterpolator());

            default:
                return(null);
            }
        }