protected void Update(bool restartsAnimations = false)
{
if (Chart.View.UpdaterState == UpdaterState.Paused) return;
if (!Chart.View.IsMocked)
if (!Chart.View.IsControlLoaded) return;
if (restartsAnimations)
Chart.View.ActualSeries.ForEach(s =>
{
if (s.ActualValues == null) return;
s.ActualValues.GetPoints(s).ForEach(p =>
{
if (p == null || p.View == null) return;
p.View.RemoveFromView(Chart);
p.View = null;
});
});
Chart.AxisX = Chart.View.MapXAxes(Chart);
Chart.AxisY = Chart.View.MapYAxes(Chart);
foreach (var series in Chart.View.ActualSeries)
{
InitializeSeriesView(series);
series.ActualValues.Initialize(series);
series.InitializeColors();
series.DrawSpecializedElements();
}
Chart.PrepareAxes();
Chart.RunSpecializedChartComponents();
foreach (var series in Chart.View.ActualSeries)
{
series.OnSeriesUpdateStart();
series.ActualValues.InitializeStep(series);
series.Model.Update();
series.ActualValues.CollectGarbage(series);
series.OnSeriesUpdatedFinish();
series.PlaceSpecializedElements();
}
}