/// <summary> /// Start Computing. Is called while rendering an animation. /// </summary> public void Run(int updateSteps) { _currentProgress = 0; _master.Progress(_currentProgress); System.Diagnostics.Debug.WriteLine("PaintJob.Run " + updateSteps.ToString()); _parameters = ParameterDict.Current.Clone(); _updateSteps = updateSteps; _currentProgressd = 100.0 / (double)(_updateSteps); for (int i = 0; i < _updateSteps; i++) { if (_abort) return; _iterate = new Iterate(_parameters, this, false); if (_lastIterate != null) { _iterate.SetOldData(_lastIterate.GraphicInfo,_lastIterate.PictureData,i); } if (_abort) return; _iterate.StartAsync(); _iterate.Wait(); if (_abort) return; _lastIterate = _iterate; _currentProgress += _currentProgressd; _master.Progress(_currentProgress); } Renderer renderer = PictureArtFactory.Create(_iterate.PictureData, _iterate.LastUsedFormulas); renderer.Paint(_graphics); if (_abort) return; _master.Progress(0); }