Пример #1
0
        public void Focus()
        {
            var count = SelectedControlPoints.Count;

            switch (count)
            {
            case 0:
                // Focus on whole curve
                ResetAxes();
                break;

            default:
                Debug.Assert(SelectedCurve != null);
                // Focus on the selection
                var center = (WindowsPoint)(SelectedControlPoints
                                            .Select(s => (WindowsVector?)(s as ControlPointViewModelBase)?.ActualPoint)
                                            .Aggregate(new WindowsVector(), (c, s) => s.HasValue ? s.Value + c : c) / count);
                SelectedCurve.XAxis?.Center(center);
                SelectedCurve.YAxis?.Center(center);
                break;
            }
        }