Beispiel #1
0
        /// <summary>
        /// Exports the views to kerkythea.
        /// </summary>
        /// <param name="leftFileName">
        /// Name of the left file.
        /// </param>
        /// <param name="rightFileName">
        /// Name of the right file.
        /// </param>
        public void ExportKerkythea(string leftFileName, string rightFileName)
        {
            var scb = this.Background as SolidColorBrush;

            using (var leftExporter = new KerkytheaExporter(leftFileName))
            {
                if (scb != null)
                {
                    leftExporter.BackgroundColor = scb.Color;
                }

                leftExporter.Reflections = true;
                leftExporter.Shadows = true;
                leftExporter.SoftShadows = true;
                leftExporter.Width = (int)this.LeftViewport.ActualWidth;
                leftExporter.Height = (int)this.LeftViewport.ActualHeight;
                leftExporter.Export(this.LeftViewport);
            }

            using (var rightExporter = new KerkytheaExporter(rightFileName))
            {
                if (scb != null)
                {
                    rightExporter.BackgroundColor = scb.Color;
                }

                rightExporter.Reflections = true;
                rightExporter.Shadows = true;
                rightExporter.SoftShadows = true;
                rightExporter.Width = (int)this.RightViewport.ActualWidth;
                rightExporter.Height = (int)this.RightViewport.ActualHeight;
                rightExporter.Export(this.RightViewport);
            }
        }
        private void FileExportRaw()
        {
            var path = FileDialogService.SaveFileDialog(null, null, Exporters.Filter, ".png");
            if (path == null)
                return;
            //HelixView.Export(path);
            ///*
            Stopwatch stopWatch = new Stopwatch();
            stopWatch.Start();

            var ext = Path.GetExtension(path).ToLowerInvariant();
            switch (ext)
            {
                case ".png":
                case ".jpg":
                    HelixView.Export(path);
                    break;
                case ".xaml":
                    {
                        var e = new XamlExporter(path);
                        e.Export(CurrentModel);
                        e.Close();
                        break;
                    }

                case ".xml":
                    {
                        var e = new KerkytheaExporter(path);
                        e.Export(HelixView.Viewport);
                        e.Close();
                        break;
                    }
                case ".obj":
                    {
                        var patient = new Patient();
                        var e = new SmileObjExporter(path);
                        //e.Export(CurrentModel);
                            ((SmileObjExporter)e).rawVisual = RawVisual;
                            ((SmileObjExporter)e).Export(RawVisual, patient);
                        e.Close();
                        break;
                    }
                case ".objz":
                    {
                        var tmpPath = Path.ChangeExtension(path, ".obj");
                        var e = new ObjExporter(tmpPath);
                        e.Export(CurrentModel);
                        e.Close();
                        GZipHelper.Compress(tmpPath);
                        break;
                    }
                case ".x3d":
                    {
                        var e = new X3DExporter(path);
                        e.Export(CurrentModel);
                        e.Close();
                        break;
                    }
            }
            showStatus(stopWatch, "Exported");
            //*/
        }