public void OnClickAdjustButton() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.StartAdjustProtein(); CoreAPI.SendCommand <MainConsoleModule, UnRegisterHoldHandlerCommand>(new UnRegisterHoldHandlerCommand()); }
public void ResetScale() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.Displayer3DRoot.transform.localScale = new Vector3(1, 1, 1); view.scaleSlider.value = 0.5f; }
/// <summary>显示蛋白质</summary> public void ShowProtein() { ProteinDisplayModel model = GetModel <ProteinDisplayModel>(); Protein protein = CoreAPI.PostCommand <PdbLoaderModule, GetProteinDataCommand, Protein>(new GetProteinDataCommand()); DisplayMode displayMode = CoreAPI.PostCommand <MainConsoleModule, GetDisplayModeCommand, DisplayMode>(new GetDisplayModeCommand()); //若蛋白质数据还未加载 则直接返回 if (protein == null) { return; } //若当前ProteinData与DisplayMode均是最新则直接返回,否则销毁重新Create if (model.DisplayedProteinData != null && model.DisplayedProteinData.ID == protein.ID && model.DisplayedDisplayMode == displayMode) { return; } else { DestroyProtein(); } model.DisplayedProteinData = protein; model.DisplayedDisplayMode = displayMode; ProteinDisplayView view = GetView <ProteinDisplayView>(); view.CreateProtein(protein, displayMode); }
public void OnClickDoneButton() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.CompleteAdjustProtein(); CoreAPI.SendCommand <MainConsoleModule, RegisterHoldHandlerCommand>(new RegisterHoldHandlerCommand()); }
public void ShowDisplayView() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.scaleSlider.onValueChanged.AddListener(ChangeModelScale); view.resetScaleBtn.onClick.AddListener(ResetScale); view.toggle_ball_stick.onValueChanged.AddListener(OnBallStickToggleChanged); view.toggle_ball.onValueChanged.AddListener(OnBallToggleChanged); view.toggle_stick.onValueChanged.AddListener(OnStickToggleChanged); }
public void SetPolymerInfoDisplayerActive(bool active) { ProteinDisplayView view = GetView <ProteinDisplayView>(); ProteinDisplayModel model = GetModel <ProteinDisplayModel>(); if (model.DisplayedProteinData == null) { view.SetBoardActive(false); return; } view.SetBoardActive(active); }
public void ChangeModelScale(float value) { ProteinDisplayView view = GetView <ProteinDisplayView>(); // slider.value的值范围是[0,1],相要的scale范围是[0.25,4] if (value <= 0.5) //缩小 { view.Displayer3DRoot.transform.localScale = new Vector3(value * 1.5f + 0.25f, value * 1.5f + 0.25f, value * 1.5f + 0.25f); } else //放大 { view.Displayer3DRoot.transform.localScale = new Vector3(value * 6f - 2f, value * 6f - 2f, value * 6f - 2f); } }
public void OnStickToggleChanged(bool value) { if (value == false) { return; } ProteinDisplayModel model = GetModel <ProteinDisplayModel>(); ProteinDisplayView view = GetView <ProteinDisplayView>(); Protein protein = model.DisplayedProteinData; view.displayMode = DisplayMode.Stick; DestroyProtein(); ResetScale(); view.ShowProtein(protein); }
/// <summary>显示蛋白质</summary> public void ShowProtein() { ProteinDisplayModel model = GetModel <ProteinDisplayModel>(); Protein protein = CoreAPI.PostCommand <PdbLoaderModule, GetProteinDataCommand, Protein>(new GetProteinDataCommand()); if (model.DisplayedProteinData != null) { if (model.DisplayedProteinData.ID == protein.ID) { return; } else { DestroyProtein(); } } model.DisplayedProteinData = protein; ProteinDisplayView view = GetView <ProteinDisplayView>(); view.ShowProtein(protein); }
public void SetSelectedDisplayer(IDisplayerSelected displayer) { ProteinDisplayModel model = GetModel <ProteinDisplayModel>(); ProteinDisplayView view = GetView <ProteinDisplayView>(); //若是同一个displayer则跳过 if (model.SelectedDisplayer != null && model.SelectedDisplayer == displayer) { return; } //取消上一个Displayer的选中状态 if (model.SelectedDisplayer != null) { model.SelectedDisplayer.OnUnSelected(); } model.SelectedDisplayer = displayer; //设置当前选中的Displayer的选中状态 displayer.OnSelected(); //更新BoardInfo if (displayer is AtomDisplayer) { view.SetBoardInfo(displayer as AtomDisplayer); } else if (displayer is AminoacidDisplayer) { view.SetBoardInfo(displayer as AminoacidDisplayer); } else if (displayer is ChainDisplayer) { view.SetBoardInfo(displayer as ChainDisplayer); } else { throw new System.Exception(); } }
public void ShowDisplayView() { ProteinDisplayView view = GetView <ProteinDisplayView>(); }
public void OnClickCancelButton() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.CancelDingPolymerInfoDisplayer(); }
/// <summary>销毁蛋白质分子模型</summary> private void DestroyProtein() { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.DestroyProtein(); }
//public void OnBallStickToggleChanged(bool value) //{ // ProteinDisplayModel model = GetModel<ProteinDisplayModel>(); // ProteinDisplayView view = GetView<ProteinDisplayView>(); // Protein protein = model.DisplayedProteinData; // view.displayMode = value ? DisplayMode.BallStick : DisplayMode.Spacefill; // DestroyProtein(); // view.ShowProtein(protein); //} public void ShowInfoInBoard(AtomDisplayer atomDisplayer) { ProteinDisplayView view = GetView <ProteinDisplayView>(); view.SetBoardInfo(atomDisplayer); }