public void SetScenario(StructureBspModel bspModel) { this.bspModel = bspModel; var fileName = bspModel.StructureBspTag.FileName(); TabModel.ToolTip = fileName; TabModel.Header = Utils.GetFileName(fileName); }
public IEnumerable <Task> ReadStructureBsp(StructureBspModel bspModel) { this.bspModel = bspModel; ClusterHolder = new ObjectHolder("Clusters"); InstanceHolders = new Dictionary <int, InstanceHolder>(); yield return(Task.Run(() => { factory.LoadTag(bspModel.StructureBspTag, false); modelProps = factory.GetProperties(tagId); var instanceData = ReadInstanceData(); foreach (var i in modelProps.InstanceMeshes) { InstanceHolders.Add(i, new InstanceHolder(i, modelProps, instanceData)); } })); }
public void SetScenario(StructureBspModel bspModel) { CurrentItem = null; Visibility = Visibility.Hidden; this.bspModel = bspModel; }
public void ClearScenario() { CurrentItem = null; Visibility = Visibility.Hidden; bspModel = null; }
public void DisplayModel(ITabContentHost targetWindow, IIndexItem modelTag, string fileName) { var container = targetWindow.DocumentPanel; LogOutput($"Loading tag: {fileName}"); try { if (Controls.DXEditor.CanOpenTag(modelTag)) { var hierarchyView = new Controls.HierarchyView(); var propertyView = new Controls.PropertyView(); var renderView = new Controls.DXEditor(); var model = new ScenarioModel(modelTag) { HierarchyView = hierarchyView, PropertyView = propertyView, RenderView = renderView, LogOutput = LogOutput, LogError = LogError }; var existingToolWells = EnumerateChildren(targetWindow.DockContainer) .OfType <ToolWellModel>() .ToList(); targetWindow.DocumentPanel.AddItem(renderView.TabModel); targetWindow.DockContainer.AddTool(hierarchyView.TabModel, null, System.Windows.Controls.Dock.Right); targetWindow.DockContainer.AddTool(propertyView.TabModel, hierarchyView.TabModel.Parent, System.Windows.Controls.Dock.Bottom); //the panels attempt to size to the contents but since the controls havent loaded yet //they will have no size - we need to set a size for them. hierarchyView.TabModel.Parent.PanelSize = new System.Windows.GridLength(1, System.Windows.GridUnitType.Star); propertyView.TabModel.Parent.PanelSize = new System.Windows.GridLength(1, System.Windows.GridUnitType.Star); hierarchyView.TabModel.Parent.Parent.PanelSize = new System.Windows.GridLength(500); foreach (var well in existingToolWells) { well.TogglePinStatusCommand.Execute(null); } renderView.LoadScenario(); } else { var propertyView = new Controls.InstancePropertyView(); var renderView = new Controls.BspEditor(); var model = new StructureBspModel(modelTag) { PropertyView = propertyView, RenderView = renderView, LogError = LogError }; var existingToolWells = EnumerateChildren(targetWindow.DockContainer) .OfType <ToolWellModel>() .ToList(); targetWindow.DocumentPanel.AddItem(renderView.TabModel); targetWindow.DockContainer.AddTool(propertyView.TabModel, null, System.Windows.Controls.Dock.Right); //the panels attempt to size to the contents but since the controls havent loaded yet //they will have no size - we need to set a size for them. propertyView.TabModel.Parent.PanelSize = new System.Windows.GridLength(500); foreach (var well in existingToolWells) { well.TogglePinStatusCommand.Execute(null); } renderView.LoadStructureBsp(); } LogOutput($"Loaded tag: {fileName}"); } catch (Exception e) { LogError($"Error loading tag: {fileName}", e, true); } }
public void ClearScenario() { bspModel = null; }