Esempio n. 1
0
        private IEnumerator loadSettings(SettingsFile settingsFile, int moleculeID, string filePath, LoadMoleculeRenderSettingsDelegate loadMoleculeRenderSettingsCallback)
        {
            if (settingsFile.StructureFilePath != null)
            {
                if (settingsFile.TrajectoryFilePath != null)
                {
                    yield return(molecules.LoadMolecule(moleculeID, settingsFile.StructureFilePath, settingsFile.TrajectoryFilePath, settingsFile.RenderSettings));
                }
                else
                {
                    yield return(molecules.LoadMoleculeStructure(moleculeID, settingsFile.StructureFilePath, settingsFile.RenderSettings));
                }
            }

            if (settingsFile.MoleculeTransform != null)
            {
                molecules.SetMoleculeTransform(moleculeID, settingsFile.MoleculeTransform);
                molecules.SaveCurrentMoleculeTransformAsDefault(moleculeID);
            }

            if (settingsFile.CameraTransform != null)
            {
                lookAtMolecule(moleculeID);
            }

            if (settingsFile.RenderSettings != null)
            {
                loadMoleculeRenderSettingsCallback(moleculeID, settingsFile.RenderSettings);
            }

            userInterface.ShowConsoleMessage("Loaded new settings for molecule from " + filePath);

            loadingSettingsFile = false;
        }
Esempio n. 2
0
 public static void RaiseLoadMoleculeSettings(int moleculeID, string filePath, bool loadStructure, bool loadTrajectory, bool loadRenderSettings, bool loadMoleculeTransform, bool loadCameraTransform, LoadMoleculeRenderSettingsDelegate loadMoleculeRenderSettingsCallback)
 {
     if (OnLoadMoleculeSettings != null)
     {
         OnLoadMoleculeSettings(moleculeID, filePath, loadStructure, loadTrajectory, loadRenderSettings, loadMoleculeTransform, loadCameraTransform, loadMoleculeRenderSettingsCallback);
     }
 }
Esempio n. 3
0
        private void loadSettingsFile(int moleculeID, string filePath, bool loadStructure, bool loadTrajectory, bool loadRenderSettings, bool loadMoleculeTransform, bool loadCameraTransform, LoadMoleculeRenderSettingsDelegate loadMoleculeRenderSettingsCallback)
        {
            if (!loadingSettingsFile)
            {
                loadingSettingsFile = true;

                SettingsFile settingsFile = null;
                try {
                    string json     = File.ReadAllText(filePath);
                    fsData data     = fsJsonParser.Parse(json);
                    object settings = null;
                    (new fsSerializer()).TryDeserialize(data, typeof(SettingsFile), ref settings).AssertSuccessWithoutWarnings();
                    settingsFile = (SettingsFile)settings;
                }
                catch (Exception e) {
                    userInterface.ShowConsoleError("Error loading settings: " + e.Message);
                    loadingSettingsFile = false;

                    if (loadStructure)
                    {
                        userInterface.MoleculeLoadFailed(moleculeID);
                    }

                    return;
                }

                if (loadStructure)
                {
                    if (string.IsNullOrEmpty(settingsFile.StructureFilePath))
                    {
                        settingsFile.StructureFilePath = null;
                    }
                    else if (!File.Exists(settingsFile.StructureFilePath))
                    {
                        userInterface.ShowConsoleMessage("Can't load molecule from settings file. File not found: " + settingsFile.StructureFilePath);
                        userInterface.MoleculeLoadFailed(moleculeID);
                        loadingSettingsFile = false;
                        return;
                    }
                }
                else
                {
                    settingsFile.StructureFilePath = null;
                }

                if (settingsFile.StructureFilePath == null)
                {
                    loadTrajectory = false;
                    settingsFile.TrajectoryFilePath = null;
                }

                if (loadTrajectory)
                {
                    if (string.IsNullOrEmpty(settingsFile.TrajectoryFilePath))
                    {
                        settingsFile.TrajectoryFilePath = null;
                    }
                    else if (!File.Exists(settingsFile.TrajectoryFilePath))
                    {
                        userInterface.ShowConsoleMessage("Can't load trajectory for molecule. File not found: " + settingsFile.TrajectoryFilePath);
                        settingsFile.TrajectoryFilePath = null;
                    }
                }

                if (!loadMoleculeTransform)
                {
                    settingsFile.MoleculeTransform = null;
                }

                if (!loadCameraTransform)
                {
                    settingsFile.CameraTransform = null;
                }

                if (!loadRenderSettings)
                {
                    settingsFile.RenderSettings = null;
                }

                StartCoroutine(loadSettings(settingsFile, moleculeID, filePath, loadMoleculeRenderSettingsCallback));
            }
        }