private void setElement(string elementName, bool enabled)
        {
            if (selectedMolecule == null || selectedMolecule.RenderSettings.EnabledElements == null)
            {
                return;
            }

            if (selectedMolecule.RenderSettings.EnabledElements.Contains(elementName))
            {
                if (!enabled)
                {
                    selectedMolecule.RenderSettings.EnabledElements.Remove(elementName);
                }
            }
            else
            {
                if (enabled)
                {
                    selectedMolecule.RenderSettings.EnabledElements.Add(elementName);
                }
            }

            if (selectedMolecule.Hidden)
            {
                selectedMolecule.PendingRerender = true;
            }
            else
            {
                UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
            }
        }
Пример #2
0
 public void OnStopButton()
 {
     if (validMoleculeSelected())
     {
         animating = false;
         MoleculeSettings molecule = molecules.GetSelected();
         molecule.CurrentTrajectoryFrameNumber = null;
         UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
         UpdateFrameNumberInfo();
     }
 }
 private void updateMoleculeRender()
 {
     if (selectedMolecule.Hidden)
     {
         selectedMolecule.PendingRerender = true;
     }
     else
     {
         UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
     }
 }
Пример #4
0
        private void loadRenderSettings(int moleculeID, MoleculeRenderSettings settings)
        {
            MoleculeSettings molecule = molecules.Get(moleculeID);

            if (molecule == null)
            {
                return;
            }

            molecule.RenderSettings = (MoleculeRenderSettings)settings;
            UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
        }
Пример #5
0
        private void stepBackwardAnimation()
        {
            MoleculeSettings molecule = molecules.GetSelected();

            molecule.CurrentTrajectoryFrameNumber--;

            if (molecule.CurrentTrajectoryFrameNumber == null || molecule.CurrentTrajectoryFrameNumber < 0)
            {
                molecule.CurrentTrajectoryFrameNumber = molecule.TrajectoryFrameCount - 1;
            }

            UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
            UpdateFrameNumberInfo();
        }
Пример #6
0
        public void OnEndEditFrameInput()
        {
            Debug.Log("End frame input");

            try {
                int frameNumber = int.Parse(this.frameNumber.text);

                MoleculeSettings molecule = molecules.GetSelected();
                frameNumber           = Mathf.Clamp(frameNumber, 1, molecule.TrajectoryFrameCount);
                this.frameNumber.text = frameNumber.ToString();

                if (frameNumber != lastFrameNumber)
                {
                    Debug.Log("New frameNumber: " + frameNumber);
                    molecule.CurrentTrajectoryFrameNumber = frameNumber - 1;
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
                }
            }
            catch (Exception) {
                frameNumber.text = lastFrameNumber.ToString();
            }
        }
Пример #7
0
        public void OnShowHideMoleculeButton()
        {
            MoleculeSettings molecule = molecules.GetSelected();

            if (molecule == null)
            {
                return;
            }

            if (hiddenMolecules.Contains(molecule.ID))
            {
                molecule.Hidden = false;
                UserInterfaceEvents.RaiseShowMolecule(molecule.ID);
                if (molecule.PendingRerender)
                {
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
                }

                UserInterfaceEvents.RaiseMoleculeSelected(molecule.ID, true);
                hiddenMolecules.Remove(molecule.ID);
            }
            else
            {
                molecule.Hidden = true;
                trajectoryControls.StopAnimation();
                UserInterfaceEvents.RaiseHideMolecule(molecule.ID);
                hiddenMolecules.Add(molecule.ID);

                if (interactionsPanel.MonitoringEnabled)
                {
                    interactionsPanel.StopInteractions();
                    console.ShowError("Stopped monitoring molecular interactions, hiding molecule");
                }

                UserInterfaceEvents.RaiseMoleculeSelected(molecule.ID, false);
            }

            updateSelectedMoleculeInterfaceSettings();
        }
 public void DecreaseBondScale()
 {
     selectedMolecule.RenderSettings.BondScale -= scaleIncrementAmount;
     BondScale.text = selectedMolecule.RenderSettings.BondScale.ToString("F1");
     UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
 }
        public void SaveSettings()
        {
            if (selectedMolecule == null)
            {
                return;
            }

            bool visualisationUpdateRequired = false;

            // primary structure options
            if (selectedMolecule.RenderSettings.ShowPrimaryStructure != EnablePrimaryStructureToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowPrimaryStructure = EnablePrimaryStructureToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowAtoms != ShowAtomsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowAtoms = ShowAtomsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowBonds != ShowBondsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowBonds = ShowBondsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowStandardResidues != ShowStandardResiduesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowStandardResidues = ShowStandardResiduesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowNonStandardResidues != ShowNonStandardResiduesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowNonStandardResidues = ShowNonStandardResiduesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowMainChains != ShowMainChainsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowMainChains = ShowMainChainsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // representation options
            if (ShowCPKToggle.isOn && selectedMolecule.RenderSettings.Representation != MolecularRepresentation.CPK)
            {
                selectedMolecule.RenderSettings.Representation = MolecularRepresentation.CPK;
                visualisationUpdateRequired = true;
            }
            else if (ShowVDWToggle.isOn && selectedMolecule.RenderSettings.Representation != MolecularRepresentation.VDW)
            {
                selectedMolecule.RenderSettings.Representation = MolecularRepresentation.VDW;
                visualisationUpdateRequired = true;
            }

            // secondary structure options
            if (selectedMolecule.RenderSettings.ShowSecondaryStructure != EnableSecondaryStructureToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSecondaryStructure = EnableSecondaryStructureToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowHelices != ShowHelicesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowHelices = ShowHelicesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowSheets != ShowSheetsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSheets = ShowSheetsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowTurns != ShowTurnsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowTurns = ShowTurnsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.SmoothNodes != SmoothNodesToggle.isOn)
            {
                selectedMolecule.RenderSettings.SmoothNodes = SmoothNodesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // other options
            if (selectedMolecule.RenderSettings.ShowSimulationBox != EnableSimlationBoxToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSimulationBox = EnableSimlationBoxToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.CalculateBoxEveryFrame != CalculateBoxEveryFrameToggle.isOn)
            {
                selectedMolecule.RenderSettings.CalculateBoxEveryFrame = CalculateBoxEveryFrameToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // recreate structures if necessary
            if (visualisationUpdateRequired)
            {
                if (selectedMolecule.Hidden)
                {
                    selectedMolecule.PendingRerender = true;
                }
                else
                {
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
                }
            }
        }