private void UpdateData(Model.Result result)
 {
     if (AddEllipse)
     {
         Ellipsies.Add(new Ellipse()
         {
             Width = 30, Height = 30
         });
         Canvas.Children.Add(Ellipsies.Last());
         Canvas.SetLeft(Canvas.Children[Canvas.Children.Count - 1], 625);
         Canvas.SetTop(Canvas.Children[Canvas.Children.Count - 1], 575);
         Animations.Add(new DoubleAnimationUsingKeyFrames());
         AddEllipse = false;
     }
     UpdateSeries(HeightSeries, result.Height);
     UpdateSeries(SpeedSeries, result.Speed);
     UpdateSeries(AccelerationSeries, result.Acceleration);
     Labels.Clear();
     Labels.AddRange(result.Time.ConvertAll(new Converter <double, string>((double x) => { return(x.ToString()); })));
     Ellipsies.Last().Fill = new SolidColorBrush(Chart.Colors[(int)(colorIndex - Chart.Colors.Count * Math.Truncate(colorIndex / (double)Chart.Colors.Count))]);
     UpdateAnimation = true;
     DataChanged     = true;
     Times           = result.Time;
     if (DataTab.IsSelected)
     {
         UpdateDataTab();
     }
     if (AnimationTab.IsSelected)
     {
         SetAnim();
     }
 }
示例#2
0
 private void UpdateData(Model.Result result)
 {
     if (AddEllipse)
     {
         Polylines.Add(new Polyline
         {
             Stroke             = new SolidColorBrush(Colors.Black),
             StrokeThickness    = 5,
             StrokeEndLineCap   = PenLineCap.Round,
             StrokeStartLineCap = PenLineCap.Round
         });
         AnimCanvas.Children.Add(Polylines.Last());
         Canvas.SetLeft(AnimCanvas.Children[AnimCanvas.Children.Count - 1], 200);
         Canvas.SetTop(AnimCanvas.Children[AnimCanvas.Children.Count - 1], 200);
         Ellipsies.Add(new Ellipse()
         {
             Width = 30, Height = 30
         });
         AnimCanvas.Children.Add(Ellipsies.Last());
         Canvas.SetLeft(AnimCanvas.Children[AnimCanvas.Children.Count - 1], 625);
         Canvas.SetTop(AnimCanvas.Children[AnimCanvas.Children.Count - 1], 575);
         YAnimations.Add(new DoubleAnimationUsingKeyFrames());
         XAnimations.Add(new DoubleAnimationUsingKeyFrames());
         AddEllipse = false;
     }
     UpdateSeries(YSeries, result.Coordinates, v => v.Y);
     UpdateSeries(XSeries, result.Coordinates, v => v.X);
     UpdateSeries(YSpeedSeries, result.Speed, v => v.Y);
     UpdateSeries(XSpeedSeries, result.Speed, v => v.X);
     Labels.Clear();
     Labels.AddRange(result.Time.ConvertAll(new Converter <double, string>((double x) => { return(x.ToString()); })));
     Ellipsies.Last().Fill   = new SolidColorBrush(Chart.Colors[(int)(colorIndex - Chart.Colors.Count * Math.Truncate(colorIndex / (double)Chart.Colors.Count))]);
     Polylines.Last().Stroke = new SolidColorBrush(Chart.Colors[(int)(colorIndex - Chart.Colors.Count * Math.Truncate(colorIndex / (double)Chart.Colors.Count))]);
     UpdateAnimation = true;
     DataChanged     = true;
     Times           = result.Time;
     if (DataTab.IsSelected)
     {
         UpdateDataTab();
     }
     if (AnimationTab.IsSelected)
     {
         SetAnim();
     }
     if (ExperimentsTab.IsSelected)
     {
         UpdateExperimentsTab();
     }
 }
 private void OnCalculationComplete(object sender, Model.Result result)
 {
     Dispatcher.Invoke(new UpdateDelegate(UpdateData), result);
 }