//============================================================================= private void CreateSheetButton_Click(object sender, RoutedEventArgs e) { Button btn = sender as Button; if (btn == null) { return; } MainWindow_ViewModel mainVM = btn.DataContext as MainWindow_ViewModel; if (mainVM == null) { return; } DrawingDocument curDoc = mainVM.CurrentDocument; if (curDoc == null) { return; } WarehouseSheet curSheet = curDoc.CurrentSheet as WarehouseSheet; if (curSheet == null || curSheet.SingleSelectedGeometry == null) { return; } SheetGeometry sheetGeometry = curSheet.SingleSelectedGeometry as SheetGeometry; if (sheetGeometry == null) { return; } if (sheetGeometry.BoundSheet != null) { return; } DrawingSheet newSheet = new DrawingSheet(curDoc); if (newSheet != null) { newSheet.Set_Length((UInt32)Utils.GetWholeNumber(sheetGeometry.Length_X), false, false); newSheet.Set_Width((UInt32)Utils.GetWholeNumber(sheetGeometry.Length_Y), false, false); curDoc.AddSheet(newSheet, false); sheetGeometry.BoundSheet = newSheet; curDoc.MarkStateChanged(); } }
//============================================================================= private void GoToBoundSheetButton_Click(object sender, RoutedEventArgs e) { Button btn = sender as Button; if (btn == null) { return; } MainWindow_ViewModel mainVM = btn.DataContext as MainWindow_ViewModel; if (mainVM == null) { return; } DrawingDocument curDoc = mainVM.CurrentDocument; if (curDoc == null) { return; } WarehouseSheet curSheet = curDoc.CurrentSheet as WarehouseSheet; if (curSheet == null || curSheet.SingleSelectedGeometry == null) { return; } SheetGeometry sheetGeometry = curSheet.SingleSelectedGeometry as SheetGeometry; if (sheetGeometry == null) { return; } if (sheetGeometry.BoundSheet == null) { return; } curDoc.CurrentSheet = sheetGeometry.BoundSheet; }
//============================================================================= /// <summary> /// Clear and rebuild children geometry. /// </summary> public void UpdateGeometry() { if (this.Visibility != Visibility.Visible) { return; } if (!this.IsVisible) { return; } Factory3D.ResetBuilders(); // Clear chidlren this.Children.Clear(); // Create light ModelVisual3D ambLightVisualModel = new ModelVisual3D(); ambLightVisualModel.Content = new AmbientLight(Color.FromRgb((byte)40, (byte)40, (byte)40)); this.Children.Add(ambLightVisualModel); // this.Children.Add(new DefaultLights()); // Add geometry visual. DrawingSheet sheet = this.Sheet; if (sheet != null) { if (eViewportContent.eSelectedRack == this.ViewportContent) { Factory3D.sDrawRackBeamsColumnsWithRackColor = false; // Create rack model Rack rack = sheet.SingleSelectedGeometry as Rack; if (rack != null) { Factory3D.AddGeometryVisual(rack, new Point3D(0.0, 0.0, 0.0), false, new Vector(0.0, 0.0), false); } } else if (eViewportContent.eSelectedSheet == this.ViewportContent) { Factory3D.sDrawRackBeamsColumnsWithRackColor = true; // Create sheet model Factory3D.AddSheetModel(sheet, new Point3D(0.0, 0.0, 0.0), sheet is WarehouseSheet, this.ShowWalls, true); // Add roof for WarehouseSheet if (this.ShowRoof) { WarehouseSheet whSheet = sheet as WarehouseSheet; if (whSheet != null) { Factory3D.AddRoof(whSheet); } } } } List <Model3D> modelsList = Factory3D.GetModelsList(); GeometryVisual3D contentVisual = new GeometryVisual3D(modelsList); this.Children.Add(contentVisual); // if (m_bZoomExtents) { this.UpdateLayout(); if (this.CameraController != null) { this.CameraController.ZoomExtents(); m_bZoomExtents = false; } } }