private void LoadingProcess()
        {
            progress = new LoadingProgress(3);
            progress.OnUpdate += new LoadingProgress.ProgressUpdateHandler(progress_OnUpdate);
            progress.OnProcessUpdate += new LoadingProgress.ProcessUpdateHandler(progress_OnProcessUpdate);
            loadedChemFile = MoleculeLoader.LoadFromFile(filename, progress);

            // close dlg
            this.Invoke(closeDelegate);
        }
示例#2
0
        private void LoadingProcess()
        {
            progress                  = new LoadingProgress(3);
            progress.OnUpdate        += new LoadingProgress.ProgressUpdateHandler(progress_OnUpdate);
            progress.OnProcessUpdate += new LoadingProgress.ProcessUpdateHandler(progress_OnProcessUpdate);
            loadedChemFile            = MoleculeLoader.LoadFromFile(filename, progress);

            // close dlg
            this.Invoke(closeDelegate);
        }
示例#3
0
        public void LoadFile(IChemFileWrapper file)
        {
            renderSource = new ChemRenderingSource3D(file.chemFile);
            if (renderContext != null)
            {
                renderContext.ChemRenderSource = renderSource;
                renderContext.OnResize(Width, Height);
                //renderContext.Render(null);
            }

            // load structures if available
            //if (file.results.FileFormat is PDBFormat)
            //{
            //    object frame = ChemModel.CreateJMOLFrameFromCDKFile(file.chemFile, renderContext.Device);
            //    // need to render 1 struct/shape at a time
            //    NuSceneBuffer3D sceneBuffer = ChemModel.RenderShapes(frame, ChemModel.ShapesType.Ribbons);
            //    renderSource.sceneBuffer = sceneBuffer;

            //    renderContext.ribbons = new ChemEntityRibbon(sceneBuffer);
            //    renderContext.ribbons.Init(renderContext.Device, outputDesc.GeneralStructuresShadingDesc);

            //    //sceneBuffer = ChemModel.RenderShapes(frame, ChemModel.ShapesType.Cartoon);

            //    //renderContext.cartoons = new ChemEntityCartoon(sceneBuffer);
            //    //renderContext.cartoons.Init(renderContext.Device, outputDesc.GeneralStructuresShadingDesc);
            //}

            /*SmilesGenerator gen = new SmilesGenerator(file.chemFile.Builder);
             * moleculeSMILESRawString = gen.createSMILES(file.chemFile.ChemSequences[0].ChemModels[0].SetOfMolecules.Molecules[0]);
             */
            renderFrame = true;
            renderingThread.Start();

            UleDlg dlg = new UleDlg(file.results, file.progress);

            dlg.ShowDialog();
            dlg.Dispose();
        }
示例#4
0
        private void OpenMolecule(string filename)
        {
            //try
            //{
            LoadingProgressDlg dlg = new LoadingProgressDlg(filename);

            dlg.ShowDialog();
            IChemFileWrapper chemFile = dlg.LoadedChemFile;    //MoleculeLoader.LoadFromFile(filename);
            Chem3DControl    control  = new Chem3DControl();
            ViewTab          tab      = new ViewTab(control);

            tab.Text      = chemFile.filename;
            tab.MdiParent = this;
            tab.Show();

            HashTableSettings settings = new HashTableSettings();

            settings["Base.Path"] = Path.GetFullPath(Application.StartupPath + ConfigurationSettings.AppSettings[(devSettings ? "dev@" : "") + "Base.Path.Relative"]);     // /*+ "\\");*/ + "..\\..\\..\\..\\..\\..\\");
            control.Init(settings, cdi);
            control.LoadFile(chemFile);
            control.OnEntitySelected += control_OnEntitySelected;
            control.OnRenderUpdate    = onRenderUpdate;

            OnTabChanged();
            //}
            //catch (UserLevelException ule)
            //{
            //    MessageBox.Show(this, ule.Message, "Problem Loading File", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            //    return;
            //}
            //catch { MessageBox.Show(this, "Error loading", "Problem Loading File", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; }

            recentFiles.AddFile(filename, RecentFiles.RecentFileType.Molecule);
            RebuildRecentFilesMenu();

            // load outline
            LoadOutline((IChemFile)control.GetRootNode());
        }
示例#5
0
        public void LoadFile(IChemFileWrapper file)
        {
            renderSource = new ChemRenderingSource3D(file.chemFile);
            if (renderContext != null)
            {
                renderContext.ChemRenderSource = renderSource;
                renderContext.OnResize(Width, Height);
                //renderContext.Render(null);
            }

            // load structures if available
            //if (file.results.FileFormat is PDBFormat)
            //{
            //    object frame = ChemModel.CreateJMOLFrameFromCDKFile(file.chemFile, renderContext.Device);
            //    // need to render 1 struct/shape at a time
            //    NuSceneBuffer3D sceneBuffer = ChemModel.RenderShapes(frame, ChemModel.ShapesType.Ribbons);
            //    renderSource.sceneBuffer = sceneBuffer;

            //    renderContext.ribbons = new ChemEntityRibbon(sceneBuffer);
            //    renderContext.ribbons.Init(renderContext.Device, outputDesc.GeneralStructuresShadingDesc);

            //    //sceneBuffer = ChemModel.RenderShapes(frame, ChemModel.ShapesType.Cartoon);

            //    //renderContext.cartoons = new ChemEntityCartoon(sceneBuffer);
            //    //renderContext.cartoons.Init(renderContext.Device, outputDesc.GeneralStructuresShadingDesc);
            //}

            /*SmilesGenerator gen = new SmilesGenerator(file.chemFile.Builder);
            moleculeSMILESRawString = gen.createSMILES(file.chemFile.ChemSequences[0].ChemModels[0].SetOfMolecules.Molecules[0]);
            */
            renderFrame = true;
            renderingThread.Start();

            UleDlg dlg = new UleDlg(file.results, file.progress);
            dlg.ShowDialog();
            dlg.Dispose();
        }