Example #1
0
        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;
        }
Example #2
0
        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);
        }
Example #3
0
 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;
 }