WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.Designer.cs
@@ -28,30 +28,17 @@ /// </summary> private void InitializeComponent() { bimfaceInterop3dContainer1 = new BimfaceInterop3dContainer(); SuspendLayout(); // // bimfaceInterop3dContainer1 // bimfaceInterop3dContainer1.Dock = DockStyle.Fill; bimfaceInterop3dContainer1.Location = new Point(0, 0); bimfaceInterop3dContainer1.Margin = new Padding(4, 3, 4, 3); bimfaceInterop3dContainer1.Name = "bimfaceInterop3dContainer1"; bimfaceInterop3dContainer1.Size = new Size(971, 610); bimfaceInterop3dContainer1.TabIndex = 0; // // XhsProjectAssetsBimfaceCtrl // XhsProjectSimulationBimfaceCtrl // AutoScaleDimensions = new SizeF(7F, 14F); AutoScaleMode = AutoScaleMode.Font; Controls.Add(bimfaceInterop3dContainer1); Name = "XhsProjectAssetsBimfaceCtrl"; Size = new Size(971, 610); Name = "XhsProjectSimulationBimfaceCtrl"; Size = new Size(230, 126); ResumeLayout(false); } #endregion private BimfaceInterop3dContainer bimfaceInterop3dContainer1; } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs
@@ -1,6 +1,4 @@ using DevExpress.Office.Utils; using DevExpress.Xpo.Helpers; using Yw.WinFrmUI.Bimface; using Yw.WinFrmUI.Bimface; namespace HStation.WinFrmUI { @@ -9,53 +7,36 @@ public XhsProjectSimulationBimfaceCtrl() { InitializeComponent(); this.bimfaceInterop3dContainer1.LoadCompletedEvent += BimfaceInterop3dContainer1_LoadCompletedEvent; this.bimfaceInterop3dContainer1.LoadViewCompletedEvent += BimfaceInterop3dContainer1_LoadViewCompletedEvent; this.bimfaceInterop3dContainer1.ClickInEvent += BimfaceInterop3dContainer1_ClickInEvent; this.bimfaceInterop3dContainer1.ClickOutEvent += BimfaceInterop3dContainer1_ClickOutEvent; } /// <summary> /// æ°´åç¹å»äºä»¶ /// æ°´åç¹å»äºä»¶ï¼å å«å·¦é®åå³é®ï¼ /// </summary> public event Action<Yw.Model.HydroParterInfo> HydroClickEvent; /// <summary> /// æ°´åç¹å»äºä»¶ï¼ä» å·¦é®ï¼ /// </summary> public event Action<Yw.Model.HydroParterInfo> HydroMouseLeftClickEvent; /// <summary> /// å è½½å®æäºä»¶ /// </summary> public event Action LoadCompletedEvent; //é¡¹ç® private HStation.Vmo.XhsProjectVmo _project = null; //项ç®ç« private HStation.Vmo.XhsProjectSiteVmo _projectSite = null; //è·åæ°´åä¿¡æ¯æ¹æ³ private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null; /// <summary> /// ç»å®æ°æ® /// </summary> public async Task SetBindingData ( HStation.Vmo.XhsProjectVmo project, HStation.Vmo.XhsProjectSiteVmo projectSite, Func<Yw.Model.HydroModelInfo> hydroInfoFunc ) //è·åBimface 交äºå®¹å¨ private BimfaceInterop3dContainer GetBimfaceInteropContainer() { if (project == null) if (_bimfaceInteropContainer == null) { return; } _project = project; _projectSite = projectSite; _hydroInfoFunc = hydroInfoFunc; if (_projectSite == null) { _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); } await this.bimfaceInterop3dContainer1.InitialContainer(); } //页é¢å è½½å®æå触å private async void BimfaceInterop3dContainer1_LoadCompletedEvent() _bimfaceInteropContainer = new BimfaceInterop3dContainer(); _bimfaceInteropContainer.Dock = DockStyle.Fill; _bimfaceInteropContainer.LoadCompletedEvent += async () => { if (_projectSite == null) { @@ -81,23 +62,27 @@ { return; } await this.bimfaceInterop3dContainer1.LoadView(viewToken); } //页é¢è§å¾å è½½å®æå触å private void BimfaceInterop3dContainer1_LoadViewCompletedEvent() await _bimfaceInteropContainer.LoadView(viewToken); }; _bimfaceInteropContainer.LoadFailedEvent += () => { TipFormHelper.ShowError("ä¸ç»´æ¨¡å容å¨å 载失败"); }; _bimfaceInteropContainer.LoadViewCompletedEvent += () => { this.LoadCompletedEvent?.Invoke(); } //å é¨ç¹å» private void BimfaceInterop3dContainer1_ClickInEvent(Yw.WinFrmUI.Bimface.ClickIn3dInfo obj) }; _bimfaceInteropContainer.LoadViewFailedEvent += (obj) => { TipFormHelper.ShowError($"ä¸ç»´æ¨¡åå 载失败"); }; _bimfaceInteropContainer.ClickInEvent += (obj) => { if (obj == null) { return; } if (HydroClickEvent != null) if (this.HydroClickEvent != null) { var hydroInfo = _hydroInfoFunc?.Invoke(); if (hydroInfo == null) @@ -108,12 +93,65 @@ var parter = allParterList?.Find(x => x.Code == obj.ObjectId); this.HydroClickEvent.Invoke(parter); } } //å¤é¨ç¹å» private void BimfaceInterop3dContainer1_ClickOutEvent(ClickOut3dInfo obj) }; _bimfaceInteropContainer.ClickOutEvent += (obj) => { this.HydroClickEvent?.Invoke(null); }; _bimfaceInteropContainer.MouseLeftClickInEvent += (obj) => { if (obj == null) { return; } if (this.HydroMouseLeftClickEvent != null) { var hydroInfo = _hydroInfoFunc?.Invoke(); if (hydroInfo == null) { return; } var allParterList = hydroInfo.GetAllParters(); var parter = allParterList?.Find(x => x.Code == obj.ObjectId); this.HydroMouseLeftClickEvent.Invoke(parter); } }; _bimfaceInteropContainer.MouseLeftClickOutEvent += (obj) => { this.HydroMouseLeftClickEvent?.Invoke(null); }; } return _bimfaceInteropContainer; } //bimface 交äºå®¹å¨ private BimfaceInterop3dContainer _bimfaceInteropContainer = null; /// <summary> /// åå§åæ°æ® /// ä» æ¯æè°ç¨ä¸æ¬¡ /// </summary> public async Task InitialData ( HStation.Vmo.XhsProjectVmo project, HStation.Vmo.XhsProjectSiteVmo projectSite, Func<Yw.Model.HydroModelInfo> hydroInfoFunc ) { if (project == null) { return; } _project = project; _projectSite = projectSite; _hydroInfoFunc = hydroInfoFunc; if (_projectSite == null) { _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID); } var bimfaceInteropContainer = GetBimfaceInteropContainer(); this.Controls.Clear(); this.Controls.Add(bimfaceInteropContainer); await bimfaceInteropContainer.InitialContainer(); } @@ -126,7 +164,11 @@ /// <returns></returns> public async Task ShowComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.ShowComponents(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ShowComponents(elementIds); } /// <summary> @@ -136,7 +178,11 @@ /// <returns></returns> public async Task HideComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.HideComponents(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.HideComponents(elementIds); } /// <summary> @@ -145,7 +191,11 @@ /// <returns></returns> public async Task ShowAllComponents() { await this.bimfaceInterop3dContainer1.ShowAllComponents(); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ShowAllComponents(); } #endregion @@ -159,7 +209,11 @@ /// <returns></returns> public async Task TranslucentComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.TranslucentComponents(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.TranslucentComponents(elementIds); } /// <summary> @@ -169,7 +223,11 @@ /// <returns></returns> public async Task OpaqueComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.OpaqueComponents(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.OpaqueComponents(elementIds); } #endregion @@ -182,7 +240,11 @@ /// <returns></returns> public async Task SetSelectedComponents(List<string> elements) { await this.bimfaceInterop3dContainer1.SetSelectedComponents(elements); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.SetSelectedComponents(elements); } /// <summary> @@ -192,7 +254,11 @@ /// <returns></returns> public async Task AddSelectedComponents(List<string> elements) { await this.bimfaceInterop3dContainer1.AddSelectedComponents(elements); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.AddSelectedComponents(elements); } /// <summary> @@ -202,7 +268,11 @@ /// <returns></returns> public async Task RemoveSelectedComponents(List<string> elements) { await this.bimfaceInterop3dContainer1.RemoveSelectedComponents(elements); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.RemoveSelectedComponents(elements); } /// <summary> @@ -212,7 +282,11 @@ /// <returns></returns> public async Task ClearSelectedComponents() { await this.bimfaceInterop3dContainer1.ClearSelectedComponents(); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ClearSelectedComponents(); } #endregion @@ -224,7 +298,11 @@ /// </summary> public async Task ZoomToComponent(string elementId) { await this.bimfaceInterop3dContainer1.ZoomToComponent(elementId); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ZoomToComponent(elementId); } /// <summary> @@ -232,7 +310,11 @@ /// </summary> public async Task ZoomToSelectedComponents() { await this.bimfaceInterop3dContainer1.ZoomToSelectedComponents(); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ZoomToSelectedComponents(); } /// <summary> @@ -240,7 +322,11 @@ /// </summary> public async Task ZoomAndSelectComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.ZoomAndSelectComponents(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ZoomAndSelectComponents(elementIds); } #endregion @@ -252,7 +338,11 @@ /// </summary> public async Task SetBlinkComponents(List<string> elementIds, string color, double transparency) { await this.bimfaceInterop3dContainer1.SetBlinkComponents(elementIds, color, transparency); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.SetBlinkComponents(elementIds, color, transparency); } /// <summary> @@ -260,7 +350,11 @@ /// </summary> public async Task SetBlinkComponents() { await this.bimfaceInterop3dContainer1.ClearBlinkComponents(); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ClearBlinkComponents(); } #endregion @@ -272,7 +366,11 @@ /// </summary> public async Task OverrideComponentsColor(List<string> elementIds, string color, double transparency) { await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, color, transparency); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.OverrideComponentsColor(elementIds, color, transparency); } /// <summary> @@ -280,7 +378,11 @@ /// </summary> public async Task SetBlinkComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.RestoreComponentsColor(elementIds); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.RestoreComponentsColor(elementIds); } #endregion @@ -292,7 +394,11 @@ /// </summary> public async Task SetCustomLabels(List<CustomLabel> obj) { await this.bimfaceInterop3dContainer1.SetCustomLabels(obj); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.SetCustomLabels(obj); } /// <summary> @@ -300,9 +406,12 @@ /// </summary> public async Task ClearCustomLabels() { await this.bimfaceInterop3dContainer1.ClearCustomLabels(); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.ClearCustomLabels(); } #endregion @@ -321,14 +430,18 @@ { if (_linkComponentIds != null && _linkComponentIds.Count > 0) { await this.bimfaceInterop3dContainer1.RestoreComponentsColor(_linkComponentIds); await _bimfaceInteropContainer.RestoreComponentsColor(_linkComponentIds); } _linkComponentIds = elementIds; if (elementIds == null || elementIds.Count < 1) { return; } await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, _linkComponentColor, _linkComponentTransparency); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.OverrideComponentsColor(elementIds, _linkComponentColor, _linkComponentTransparency); } #endregion @@ -346,14 +459,18 @@ { if (_openComponentIds != null && _openComponentIds.Count > 0) { await this.bimfaceInterop3dContainer1.RestoreComponentsColor(_openComponentIds); await _bimfaceInteropContainer.RestoreComponentsColor(_openComponentIds); } _openComponentIds = elementIds; if (elementIds == null || elementIds.Count < 1) { return; } await this.bimfaceInterop3dContainer1.OverrideComponentsColor(elementIds, _openComponentColor, _openComponentTransparency); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.OverrideComponentsColor(elementIds, _openComponentColor, _openComponentTransparency); } #endregion @@ -376,7 +493,7 @@ } if (!calcuResult.Succeed) { await this.bimfaceInterop3dContainer1.ClearCustomLabels(); await _bimfaceInteropContainer.ClearCustomLabels(); return; } var obj = new List<CustomLabel>(); @@ -421,8 +538,11 @@ obj.Add(emitterCustomLabel); } }); await this.bimfaceInterop3dContainer1.SetCustomLabels(obj); if (_bimfaceInteropContainer == null) { return; } await _bimfaceInteropContainer.SetCustomLabels(obj); } #endregion WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs
@@ -60,8 +60,7 @@ ribbonPageGroup3 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup4 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); tabPane1 = new DevExpress.XtraBars.Navigation.TabPane(); pageBimface = new DevExpress.XtraBars.Navigation.TabNavigationPage(); xhsProjectSimulationBimfaceCtrl1 = new XhsProjectSimulationBimfaceCtrl(); tabPageBimface = new DevExpress.XtraBars.Navigation.TabNavigationPage(); pageQ3d = new DevExpress.XtraBars.Navigation.TabNavigationPage(); xhsProjectSimulationQ3dCtrl1 = new XhsProjectSimulationQ3dCtrl(); dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components); @@ -75,7 +74,6 @@ ((ISupportInitialize)ribbonControl1).BeginInit(); ((ISupportInitialize)tabPane1).BeginInit(); tabPane1.SuspendLayout(); pageBimface.SuspendLayout(); pageQ3d.SuspendLayout(); ((ISupportInitialize)dockManager1).BeginInit(); docPnlProperty.SuspendLayout(); @@ -297,34 +295,23 @@ // // tabPane1 // tabPane1.Controls.Add(pageBimface); tabPane1.Controls.Add(tabPageBimface); tabPane1.Controls.Add(pageQ3d); tabPane1.Dock = DockStyle.Fill; tabPane1.Location = new Point(0, 128); tabPane1.Name = "tabPane1"; tabPane1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { pageBimface, pageQ3d }); tabPane1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { tabPageBimface, pageQ3d }); tabPane1.RegularSize = new Size(692, 340); tabPane1.SelectedPage = pageBimface; tabPane1.SelectedPage = tabPageBimface; tabPane1.Size = new Size(692, 340); tabPane1.TabIndex = 1; tabPane1.Text = "tabPane1"; // // pageBimface // tabPageBimface // pageBimface.Caption = "ä¸ç»´æ¨¡å"; pageBimface.Controls.Add(xhsProjectSimulationBimfaceCtrl1); pageBimface.Name = "pageBimface"; pageBimface.Size = new Size(692, 307); // // xhsProjectSimulationBimfaceCtrl1 // xhsProjectSimulationBimfaceCtrl1.Dock = DockStyle.Fill; xhsProjectSimulationBimfaceCtrl1.Location = new Point(0, 0); xhsProjectSimulationBimfaceCtrl1.Name = "xhsProjectSimulationBimfaceCtrl1"; xhsProjectSimulationBimfaceCtrl1.Size = new Size(692, 307); xhsProjectSimulationBimfaceCtrl1.TabIndex = 0; xhsProjectSimulationBimfaceCtrl1.HydroClickEvent += xhsProjectSimulationBimfaceCtrl1_HydroClickEvent; xhsProjectSimulationBimfaceCtrl1.LoadCompletedEvent += xhsProjectSimulationBimfaceCtrl1_LoadCompletedEvent; tabPageBimface.Caption = "ä¸ç»´æ¨¡å"; tabPageBimface.Name = "tabPageBimface"; tabPageBimface.Size = new Size(692, 307); // // pageQ3d // @@ -430,7 +417,6 @@ ((ISupportInitialize)ribbonControl1).EndInit(); ((ISupportInitialize)tabPane1).EndInit(); tabPane1.ResumeLayout(false); pageBimface.ResumeLayout(false); pageQ3d.ResumeLayout(false); ((ISupportInitialize)dockManager1).EndInit(); docPnlProperty.ResumeLayout(false); @@ -458,12 +444,11 @@ private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup3; private DevExpress.XtraBars.BarButtonItem barBtnMatchingList; private DevExpress.XtraBars.Navigation.TabPane tabPane1; private DevExpress.XtraBars.Navigation.TabNavigationPage pageBimface; private DevExpress.XtraBars.Navigation.TabNavigationPage tabPageBimface; private DevExpress.XtraBars.Navigation.TabNavigationPage pageQ3d; private DevExpress.XtraBars.Docking.DockManager dockManager1; private DevExpress.XtraBars.Docking.DockPanel docPnlProperty; private DevExpress.XtraBars.Docking.ControlContainer dockPanel1_Container; private XhsProjectSimulationBimfaceCtrl xhsProjectSimulationBimfaceCtrl1; private XhsProjectSimulationQ3dCtrl xhsProjectSimulationQ3dCtrl1; private XhsProjectSimulationPropertyCtrl xhsProjectSimulationPropertyCtrl1; private DevExpress.Utils.SvgImageCollection svgImg32; WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -62,16 +62,25 @@ return; } this.PageTitle.Caption = $"{_project.Name}\r\næ°´åæ¨¡æ"; await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite, () => _hydroInfo); var bimfaceCtrl = GetBimfaceCtrl(); this.tabPageBimface.Controls.Clear(); this.tabPageBimface.Controls.Add(bimfaceCtrl); await bimfaceCtrl.InitialData(_project, _projectSite, () => _hydroInfo); this.xhsProjectSimulationQ3dCtrl1.SetBindingData(_hydroInfo); this.xhsProjectSimulationPropertyCtrl1.InitialData(() => _hydroInfo); } #region Bimface //bimface å è½½å®æäºä»¶ private async void xhsProjectSimulationBimfaceCtrl1_LoadCompletedEvent() //è·å bimface æ§ä»¶ private XhsProjectSimulationBimfaceCtrl GetBimfaceCtrl() { if (_bimfaceCtrl == null) { _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); _bimfaceCtrl.Dock = DockStyle.Fill; _bimfaceCtrl.LoadCompletedEvent += async () => {//viewå è½½å®æäºä»¶ if (_hydroInfo == null) { return; @@ -81,12 +90,10 @@ pumps?.ForEach(x => elementIds.Add(x.Code)); var valves = _hydroInfo.Valves?.Where(x => x.LinkStatus == Yw.Hydro.ValveStatus.Open).ToList(); valves?.ForEach(x => elementIds.Add(x.Code)); await this.xhsProjectSimulationBimfaceCtrl1.SetOpenComponentsColor(elementIds); } //bimface æ°´åç¹å»äºä»¶ private void xhsProjectSimulationBimfaceCtrl1_HydroClickEvent(Yw.Model.HydroParterInfo obj) { await _bimfaceCtrl?.SetOpenComponentsColor(elementIds); }; _bimfaceCtrl.HydroMouseLeftClickEvent += (obj) => {//é¼ æ å·¦é®ç¹å»äºä»¶ if (_hydroInfo == null) { return; @@ -94,7 +101,14 @@ _parter = obj; ShowProperty(); SetBimfaceLinkColor(); }; } return _bimfaceCtrl; } //bimfaceæ§ä»¶ private XhsProjectSimulationBimfaceCtrl _bimfaceCtrl = null; //设置Bimfaceè¿æ¥é¢è² private async void SetBimfaceLinkColor() @@ -144,7 +158,7 @@ } } } await this.xhsProjectSimulationBimfaceCtrl1.SetLinkComponentsColor(elementIds); await _bimfaceCtrl?.SetLinkComponentsColor(elementIds); } #endregion @@ -193,7 +207,7 @@ { elementIds.Add(_parter.Code); } await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); ShowProperty(); SetBimfaceLinkColor(); }; @@ -253,14 +267,14 @@ var allParterList = _hydroInfo.GetAllParters(); _parter = allParterList?.Find(x => x.Code == parter.Code); var elementIds = new List<string>() { parter.Code }; await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); ShowProperty(); SetBimfaceLinkColor(); }; _unMatchingListCtrl.ViewModelEvent += async (parters) =>//æ¥ç模å { var codes = parters?.Select(x => x.Code).Distinct().ToList(); await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(codes); await _bimfaceCtrl?.ZoomAndSelectComponents(codes); _parter = null; ShowProperty(); }; @@ -308,11 +322,11 @@ if (_fastShowHideCodeList == null) { _fastShowHideCodeList = _hydroInfo.Decorators.Select(x => x.Code).ToList(); await this.xhsProjectSimulationBimfaceCtrl1.HideComponents(_fastShowHideCodeList); await _bimfaceCtrl?.HideComponents(_fastShowHideCodeList); } else { await this.xhsProjectSimulationBimfaceCtrl1.ShowComponents(_fastShowHideCodeList); await _bimfaceCtrl?.ShowComponents(_fastShowHideCodeList); _fastShowHideCodeList = null; } } @@ -348,7 +362,7 @@ elementIds.Add(_parter.Code); } } await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); ShowProperty(); SetBimfaceLinkColor(); }; @@ -415,7 +429,7 @@ } var allParterList = _hydroInfo.GetAllParters(); _parter = allParterList?.Find(x => x.Code == parter.Code); await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(new List<string>() { _parter.Code }); await _bimfaceCtrl?.ZoomAndSelectComponents(new List<string>() { _parter.Code }); ShowProperty(); SetBimfaceLinkColor(); }; @@ -637,7 +651,7 @@ this.controlContainerBottom.Controls.Add(parterListCtrl); this.docPnlBottom.Text = "计ç®ç»æ"; ShowProperty(); await this.xhsProjectSimulationBimfaceCtrl1.ShowCalcuCustomLabels(_calcuResult); await _bimfaceCtrl?.ShowCalcuCustomLabels(_calcuResult); TipFormHelper.ShowSucceed("è®¡ç®æåï¼"); } else @@ -704,7 +718,7 @@ { _parter = null; } await this.xhsProjectSimulationBimfaceCtrl1.ZoomAndSelectComponents(elementIds); await _bimfaceCtrl?.ZoomAndSelectComponents(elementIds); ShowProperty(); SetBimfaceLinkColor(); }; WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/MouseClick.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ namespace Yw.WinFrmUI.Bimface { /// <summary> /// é¼ æ ç¹å» /// </summary> public class MouseClick { /// <summary> /// é¼ æ å·¦é®ç¹å» /// </summary> public const string Click = "Click"; /// <summary> /// é¼ æ å³é®ç¹å» /// </summary> public const string RightClick = "RightClick"; } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dCallBackObj.cs
@@ -11,9 +11,19 @@ public event Action<ClickIn3dInfo> ClickInEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»æä»¶äºä»¶ /// </summary> public event Action<ClickIn3dInfo> MouseLeftClickInEvent; /// <summary> /// ç¹å»å¤é¨äºä»¶ /// </summary> public event Action<ClickOut3dInfo> ClickOutEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»å¤é¨äºä»¶ /// </summary> public event Action<ClickOut3dInfo> MouseLeftClickOutEvent; /// <summary> /// ç¹å»æä»¶ @@ -22,6 +32,13 @@ { var json = JsonHelper.Json2Object<ClickIn3dInfo>(info); this.ClickInEvent?.Invoke(json); if (json != null) { if (json.EventType == MouseClick.Click) { this.MouseLeftClickInEvent?.Invoke(json); } } } /// <summary> @@ -31,6 +48,13 @@ { var json = JsonHelper.Json2Object<ClickOut3dInfo>(info); this.ClickOutEvent?.Invoke(json); if (json != null) { if (json.EventType == MouseClick.Click) { this.MouseLeftClickOutEvent?.Invoke(json); } } } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs
@@ -1,8 +1,4 @@ using DevExpress.Xpo.DB.Helpers; using DevExpress.XtraDiagram.Base; using NetTaste; namespace Yw.WinFrmUI namespace Yw.WinFrmUI { public partial class BimfaceInterop3dContainer : UserControl, IBimfaceInterop3dContainer { @@ -11,29 +7,43 @@ InitializeComponent(); } public event Action LoadCompletedEvent; public event Action LoadFailedEvent; public event Action<HandingError> HandingErrorEvent; public event Action LoadViewCompletedEvent; public event Action<string> LoadViewFailedEvent; public event Action<ClickIn3dInfo> ClickInEvent; public event Action<ClickOut3dInfo> ClickOutEvent; /// <summary> /// 交äºå¯¹è±¡ /// Htmlå è½½å®æäºä»¶ /// </summary> public BimfaceInterop3dCallBackObj CallBackObj { get { if (_callBackObj == null) { _callBackObj = new BimfaceInterop3dCallBackObj(); } return _callBackObj; } } private BimfaceInterop3dCallBackObj _callBackObj; public event Action LoadCompletedEvent; /// <summary> /// Htmlå 载失败äºä»¶ /// </summary> public event Action LoadFailedEvent; /// <summary> /// å¤çé误äºä»¶ /// </summary> public event Action<HandingError> HandingErrorEvent; /// <summary> /// Viewå è½½å®æäºä»¶ /// </summary> public event Action LoadViewCompletedEvent; /// <summary> /// Viewå 载失败äºä»¶ /// </summary> public event Action<string> LoadViewFailedEvent; /// <summary> /// ç¹å»æä»¶äºä»¶ /// </summary> public event Action<ClickIn3dInfo> ClickInEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»æä»¶äºä»¶ /// </summary> public event Action<ClickIn3dInfo> MouseLeftClickInEvent; /// <summary> /// ç¹å»å¤é¨äºä»¶ /// </summary> public event Action<ClickOut3dInfo> ClickOutEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»å¤é¨äºä»¶ /// </summary> public event Action<ClickOut3dInfo> MouseLeftClickOutEvent; /// <summary> /// æ¯å¦åå§å @@ -59,67 +69,63 @@ } private bool _isViewInitialized; //è·å交äºå¯¹è±¡ private BimfaceInterop3dCallBackObj GetCallBackObj() { if (_callBackObj == null) { _callBackObj = new BimfaceInterop3dCallBackObj(); _callBackObj.LoadCompletedEvent += () => { _isInitialized = true; this.LoadCompletedEvent?.Invoke(); }; _callBackObj.LoadFailedEvent += () => { this.LoadFailedEvent?.Invoke(); }; _callBackObj.HandingErrorEvent += (obj) => { this.HandingErrorEvent?.Invoke(obj); }; _callBackObj.LoadViewCompletedEvent += () => { _isViewInitialized = true; this.LoadViewCompletedEvent?.Invoke(); }; _callBackObj.LoadViewFailedEvent += (obj) => { this.LoadViewFailedEvent?.Invoke(obj); }; _callBackObj.ClickInEvent += (obj) => { this.ClickInEvent?.Invoke(obj); }; _callBackObj.MouseLeftClickInEvent += (obj) => { this.MouseLeftClickInEvent?.Invoke(obj); }; _callBackObj.ClickOutEvent += (obj) => { this.ClickOutEvent?.Invoke(obj); }; _callBackObj.MouseLeftClickOutEvent += (obj) => { this.MouseLeftClickOutEvent?.Invoke(obj); }; } return _callBackObj; } private BimfaceInterop3dCallBackObj _callBackObj; /// <summary> /// åå§è¯å®¹å¨ /// </summary> public async Task InitialContainer() { var callBackObj = this.CallBackObj; callBackObj.LoadCompletedEvent += CallBackObj_LoadCompletedEvent; callBackObj.LoadFailedEvent += CallBackObj_LoadFailedEvent; callBackObj.HandingErrorEvent += CallBackObj_HandingErrorEvent; callBackObj.LoadViewCompletedEvent += CallBackObj_LoadViewCompletedEvent; callBackObj.LoadViewFailedEvent += CallBackObj_LoadViewFailedEvent; callBackObj.ClickInEvent += CallBackObj_ClickInEvent; callBackObj.ClickOutEvent += CallBackObj_ClickOutEvent; var callBackObj = GetCallBackObj(); await this.webViewControl1.InitialWebBrower(BimfaceUrlHelper.Interop3dUrl, callBackObj, true); } //å è½½å®æ private void CallBackObj_LoadCompletedEvent() { _isInitialized = true; this.LoadCompletedEvent?.Invoke(); } //å 载失败 private void CallBackObj_LoadFailedEvent() { this.LoadFailedEvent?.Invoke(); } //å¤çé误 private void CallBackObj_HandingErrorEvent(HandingError obj) { this.HandingErrorEvent?.Invoke(obj); } //å è½½è§å¾å®æ private void CallBackObj_LoadViewCompletedEvent() { _isViewInitialized = true; this.LoadViewCompletedEvent?.Invoke(); } //å è½½è§å¾å¤±è´¥ private void CallBackObj_LoadViewFailedEvent(string obj) { this.LoadViewFailedEvent?.Invoke(obj); } //ç¹å»æä»¶ private void CallBackObj_ClickInEvent(ClickIn3dInfo obj) { this.ClickInEvent?.Invoke(obj); } //ç¹å»å¤é¨ private void CallBackObj_ClickOutEvent(ClickOut3dInfo obj) { this.ClickOutEvent?.Invoke(obj); } /// <summary> /// å è½½è§å¾ @@ -132,7 +138,6 @@ } return await this.webViewControl1.EvaluateScriptAsync<bool>("loadView", viewToken); } #region æä»¶æ¾é WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs
@@ -1,20 +1,10 @@ using DevExpress.CodeParser; using DevExpress.Xpo.Helpers; using DevExpress.XtraDiagram.Base; using Yw.WinFrmUI.Bimface; namespace Yw.WinFrmUI namespace Yw.WinFrmUI { /// <summary> /// /// </summary> public interface IBimfaceInterop3dContainer : IBimfaceContainer, IBimfaceInterop3dEvents { /// <summary> /// 交äºå¯¹è±¡ /// </summary> BimfaceInterop3dCallBackObj CallBackObj { get; } #region æä»¶çæ¾ç¤ºä¸éè WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dEvents.cs
@@ -11,8 +11,20 @@ event Action<ClickIn3dInfo> ClickInEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»æä»¶äºä»¶ /// </summary> public event Action<ClickIn3dInfo> MouseLeftClickInEvent; /// <summary> /// ç¹å» /// </summary> event Action<ClickOut3dInfo> ClickOutEvent; /// <summary> /// é¼ æ å·¦é®ç¹å»å¤é¨äºä»¶ /// </summary> public event Action<ClickOut3dInfo> MouseLeftClickOutEvent; } }