public async Task BuildParticleFilm() { if (DoGenerateAggregates) { await AggFormationControlViewModel.GenerateAggregates(null); GetAggregatesFromGeneration(); } var progress = new Progress <ProgressReportModel>(); progress.ProgressChanged += _statusViewModel.ReportFilmProgress; _loggingViewModel.LogInfo("Initiating film generation."); _statusViewModel.SimulationStatus = SimulationStatus.Running; _cts = new CancellationTokenSource(); FilmFormationService = new FilmFormationService(FilmFormationConfig); ParticleFilm = await Task.Run(() => FilmFormationService.BuildFilm_Async(_aggregates, progress, FilmFormationConfig.Delta, _cts.Token)); _loggingViewModel.LogInfo("Film generation complete."); ExportFilm(); _statusViewModel.SimulationStatus = SimulationStatus.Idle; }
public MainViewModel() { AggregateFormationConfig = new AggregateFormationConfig(); FilmFormationConfig = new FilmFormationConfig(); SimulationProperties = new SimulationProperties(); LoggingViewModel = new LoggingViewModel(); StatusViewModel = new StatusViewModel(LoggingViewModel); AggFormationControlViewModel = new AggFormationControlViewModel( AggregateFormationConfig, SimulationProperties, StatusViewModel, LoggingViewModel); FilmFormationControlViewModel = new FilmFormationControlViewModel( FilmFormationConfig, SimulationProperties, AggFormationControlViewModel, StatusViewModel, LoggingViewModel); FilmAnalysisControlViewModel = new FilmAnalysisControlViewModel(); ActivateItem(AggFormationControlViewModel); }
public FilmFormationControlViewModel( IFilmFormationConfig filmFormationConfig, SimulationProperties simProp, AggFormationControlViewModel aggFormationControlViewModel, StatusViewModel statusViewModel, LoggingViewModel loggingViewModel) { FilmFormationConfig = filmFormationConfig; SimProp = simProp; FilmFormationConfigViewModel = new FilmFormationConfigViewModel(FilmFormationConfig); AggFormationControlViewModel = aggFormationControlViewModel; _statusViewModel = statusViewModel; _loggingViewModel = loggingViewModel; }