Example #1
0
        private void Save(IStreamable sender)
        {
            if (sender is Pointcloud)
            {
                var saveFileDialog = new System.Windows.Forms.SaveFileDialog();
                saveFileDialog.FileName      = "*";
                saveFileDialog.DefaultExt    = "pcd";
                saveFileDialog.ValidateNames = true;

                saveFileDialog.Filter = "Pointcloud File (.pcd)|*.pcd";

                DialogResult result = saveFileDialog.ShowDialog();

                if (!(result == DialogResult.OK)) // Test result.
                {
                    return;
                }

                sender.Save(saveFileDialog.FileName);
            }
            else if (sender is IfcViewerWrapper)
            {
                var saveFileDialog = new System.Windows.Forms.SaveFileDialog();
                saveFileDialog.FileName      = "*";
                saveFileDialog.DefaultExt    = "obj";
                saveFileDialog.ValidateNames = true;

                saveFileDialog.Filter = "Wavefront Obj File (.obj)|*.obj";

                DialogResult result = saveFileDialog.ShowDialog();

                if (!(result == DialogResult.OK)) // Test result.
                {
                    return;
                }

                var objExporter = new WavefrontObjWriter();
                objExporter.Export(IfcVisualizer.GetItems((IfcViewerWrapper)sender.Data, false), saveFileDialog.FileName, "", false);
            }
        }