Ejemplo n.º 1
0
        public void exportImages()
        {
            if (currentView == ViewType.Time)
            {
                FileDialog dialog = new SaveFileDialog();
                double     width  = 1920;
                double     height = 1080;
                int        ntime  = view.getChromNtime();
                string     filename;

                dialog.Filter = "PNG files (*.png)|*.png|All files (*.*)|*.*";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    ChromView chromView = new ChromView(Transparency.Opaque);
                    chromView.outParams = view.getChromOutParams();
                    chromView.TimeMode  = true;
                    chromView.Arrange(new Rect(new Size(width, height)));
                    chromView.UpdateLayout();

                    for (int timei = 0; timei < ntime; timei++)
                    {
                        filename = Util.createNumberedFilename(dialog.FileName, timei);

                        chromView.setChromTimei(timei);
                        chromView.UpdateLayout();
                        Util.saveBitmapImage(Util.visualToBitmap(chromView, width, height), filename);

                        Util.gcCollect();
                        view.updateProgress((float)timei / ntime);
                        System.Windows.Forms.Application.DoEvents();
                    }
                    view.clearProgress();
                }
            }
        }
Ejemplo n.º 2
0
 public void printExecute(object sender, ExecutedRoutedEventArgs e)
 {
     if (currentView != ViewType.Setup)
     {
         printing.print(false);
         Util.gcCollect();
     }
 }
Ejemplo n.º 3
0
        public void exportImage()
        {
            if (currentView != ViewType.Setup)
            {
                FileDialog dialog = new SaveFileDialog();
                double     width, height, dpi;
                dialog.Filter = "PNG files (*.png)|*.png|All files (*.*)|*.*";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    dpi    = optionParams.exportDpi;
                    width  = Util.convertToDpi(printing.getWidth(), dpi);
                    height = Util.convertToDpi(printing.getHeight(), dpi);

                    ChromView chromView = new ChromView(Transparency.Partial);
                    chromView.visOutSet = view.getChromVisOutSet();
                    chromView.Arrange(new Rect(new Size(width, height)));
                    chromView.UpdateLayout();

                    Util.saveBitmapImage(Util.visualToBitmap(chromView, width, height), dialog.FileName);
                }
                Util.gcCollect();
            }
        }
Ejemplo n.º 4
0
        public void updateModelThreadFunction(object modelRunParams0)
        {
            ModelRunParams modelRunParams = (ModelRunParams)modelRunParams0;

            // first check if model needs creating
            bool create = true;

            if (model != null)
            {
                switch (modelRunParams.inParams.model)
                {
                case ModelType.CCD:
                    create = (model.GetType() != typeof(CCDModel));
                    break;

                case ModelType.Probabilistic:
                    create = (model.GetType() != typeof(ProbModel));
                    break;

                case ModelType.Transport:
                    create = (model.GetType() != typeof(TransModel));
                    break;
                }
            }

            if (create)
            {
                switch (modelRunParams.inParams.model)
                {
                case ModelType.CCD:
                    model = new CCDModel(this, modelRunParams.inParams, preview.outParams, modelRunParams.optionParams);
                    break;

                case ModelType.Probabilistic:
                    model = new ProbModel(this, modelRunParams.inParams, preview.outParams, modelRunParams.optionParams);
                    break;

                case ModelType.Transport:
                    model = new TransModel(this, modelRunParams.inParams, preview.outParams, modelRunParams.optionParams);
                    break;

                default:
                    model = new PreviewModel(this, modelRunParams.inParams, modelRunParams.optionParams);
                    break;
                }
                // if  model just created; model needs to be updated too
                modelRunParams.updateModelReq = true;
            }

            if (modelRunParams.updateModelReq || modelRunParams.updateOutReq)
            {
                // clear previous output
                if (modelRunParams.viewType == ViewType.Out)
                {
                    model.clearOut();
                }
                else if (modelRunParams.viewType == ViewType.Time)
                {
                    model.clearTimeOut();
                }
                updateModelObservers();
            }

            if (modelRunParams.updateModelReq)
            {
                preview.update(modelRunParams.inParams, null);
                preview.updateOut(modelRunParams.viewParams);
                model.update(modelRunParams.inParams, preview.previewParams);
                // if model updated, out must be updated too
                modelRunParams.updateOutReq = true;
            }

            if (modelRunParams.updateOutReq)
            {
                if (modelRunParams.viewType == ViewType.Out)
                {
                    model.updateOut(modelRunParams.viewParams);
                }
                else if (modelRunParams.viewType == ViewType.Time)
                {
                    model.updateTimeOut(modelRunParams.viewParams);
                }
                model.stats.start();
                updateModelObservers();
                model.stats.storeDrawviewTime();
            }

            Util.gcCollect();
        }