Dispose() public method

public Dispose ( ) : void
return void
Esempio n. 1
0
 public void Dispose()
 {
     if (Importer != null)
     {
         Importer.Dispose();
     }
 }
Esempio n. 2
0
 public static void Cleanup()
 {
     if (s_importer != null)
     {
         s_importer.Dispose();
         s_importer = null;
     }
 }
Esempio n. 3
0
        protected virtual void Dispose(bool disposing)
        {
            if (_ownsImporter)
            {
                Importer.Dispose();
            }

            Emitter.Dispose();
        }
Esempio n. 4
0
        private void Close()
        {
            if (Modified && !ShowConfirmDialog(MsgQstConfirmClose))
            {
                return;
            }

            Importer?.Dispose();
            BaseForm.Close();
        }
Esempio n. 5
0
 public void Dispose()
 {
     Importer.Dispose();
 }
Esempio n. 6
0
        /// <summary>
        /// Converts a given .GR2 file to a .dae file for rendering and further conversion.
        /// </summary>
        /// <param name="filename">The file name.</param>
        /// <returns>The .dae converted model file.</returns>
        private static HelixToolkitScene LoadFile(string filename)
        {
            var dae = $"{filename}.dae";

            if (!File.Exists(dae))
            {
                GeneralHelper.WriteToConsole($"Converting model to .dae for rendering...\n");
                var divine    = $" -g \"bg3\" --action \"convert-model\" --output-format \"dae\" --source \"\\\\?\\{filename}.GR2\" --destination \"\\\\?\\{dae}\" -l \"all\"";
                var process   = new Process();
                var startInfo = new ProcessStartInfo
                {
                    FileName               = Properties.Settings.Default.divineExe,
                    Arguments              = divine,
                    WindowStyle            = ProcessWindowStyle.Hidden,
                    CreateNoWindow         = true,
                    UseShellExecute        = false,
                    RedirectStandardOutput = true,
                    RedirectStandardError  = true
                };
                process.StartInfo = startInfo;
                process.Start();
                process.WaitForExit();
                GeneralHelper.WriteToConsole(process.StandardOutput.ReadToEnd());
                GeneralHelper.WriteToConsole(process.StandardError.ReadToEnd());
            }
            try
            {
                var importer = new Importer();
                // Update material here?
                var file = importer.Load(dae);
                if (file == null && File.Exists(dae))
                {
                    GeneralHelper.WriteToConsole("Fixing vertices...\n");
                    try
                    {
                        var xml          = XDocument.Load(dae);
                        var geometryList = xml.Descendants().Where(x => x.Name.LocalName == "geometry").ToList();
                        foreach (var lod in geometryList)
                        {
                            var vertexId = lod.Descendants().Where(x => x.Name.LocalName == "vertices").Select(x => x.Attribute("id").Value).First();
                            var vertex   = lod.Descendants().Single(x => x.Name.LocalName == "input" && x.Attribute("semantic").Value == "VERTEX");
                            vertex.Attribute("source").Value = $"#{vertexId}";
                        }
                        xml.Save(dae);
                        GeneralHelper.WriteToConsole("Model conversion complete!\n");
                        file = importer.Load(dae);
                    }
                    catch (Exception ex)
                    {
                        // in use by another process
                        GeneralHelper.WriteToConsole($"Error : {ex.Message}\n");
                    }
                }

                if (!File.Exists($"{filename}.fbx"))
                {
                    var converter     = new Assimp.AssimpContext();
                    var exportFormats = converter.GetSupportedExportFormats().Select(e => e.FormatId);
                    var importFormats = converter.GetSupportedImportFormats();
                    var imported      = converter.ImportFile(dae);
                    converter.ExportFile(imported, $"{filename}.fbx", "fbx");
                }
                importer.Dispose();
                return(file);
            }
            catch (Exception ex)
            {
                GeneralHelper.WriteToConsole($"Error loading .dae: {ex.Message}. Inner exception: {ex.InnerException?.Message}\n");
            }
            return(null);
        }
Esempio n. 7
0
        public PgImportTableVM(FileInfo fileInfo, ImportTableV importWindow)
        {
            _fileInfo     = fileInfo;
            _importWindow = importWindow;
            _tableInfo    = null;
            _dataTable    = null;
            _geomType     = 0;
            _progressKey  = "importProgress" + DateTime.Now.Ticks.ToString();
            _srid         = -1;
            CanLoad       = true;

            switch (_fileInfo.Extension.ToLower())
            {
            case ".dbf":
                _importer = new DBFImporter();
                break;

            case ".xls":
            case ".xlsx":
                _importer = new ExcelImporter();
                break;

            case ".shp":
            case ".tab":
            case ".bna":
            case ".csv":
            case ".geojson":
            case ".gml":
            case ".gmt":
            case ".itf":
            case ".kml":
            case ".mif":
            case ".xml":
            case ".gxt":
            case ".dxf":
            case ".sqlite":
                _importer = new SHPImporter();
                break;

            default:
                _importer = null;
                break;
            }

            if (_importer == null)
            {
                MessageBox.Show(Rekod.Properties.Resources.ImportWindow_NotSupportExtension);
                return;
            }
            _importer.WorkerSupportsCancellation = true;
            _importer.ProgressChanged           += new System.ComponentModel.ProgressChangedEventHandler(importer_ProgressChanged);
            _importer.RunWorkerCompleted        += new System.ComponentModel.RunWorkerCompletedEventHandler(importer_RunWorkerCompleted);

            try
            {
                _importer.Init(_fileInfo, _tableInfo);
                _dataTable = _importer.GetPreviewTable();
                if (_importer is SHPImporter)
                {
                    _geomType = (AbsM.EGeomType)((SHPImporter)_importer).GetGeometryType();
                    _srid     = ((SHPImporter)_importer).GetSRID();
                }
            }
            catch (Exception e)
            {
                cti.ThreadProgress.Close(_progressKey);
                MessageBox.Show(Properties.Resources.LabelControl_ErrorShowResult + Environment.NewLine + e.Message, Properties.Resources.error, MessageBoxButton.OK, MessageBoxImage.Error);

                _importer.CancelAsync();
                _importer.Dispose();
                return;
            }

            if (_dataTable == null)
            {
                MessageBox.Show(Properties.Resources.LabelControl_ErrorShowResult);
                _importer.CancelAsync();
                _importer.Dispose();
                return;
            }

            _knownGeometry = _geomType != 0;
        }