private void buttonAddSeries_Click(object sender, EventArgs e) { if (VtkControl.ImageData == null || VtkControl.PolyData == null) { MessageBox.Show("Please Load Model First!"); return; } if (vtk.IsDisposed) { vtk = new VtkForm(); } vtk.Show(); imageRect = new Rectangle() { X = (int)(((float)rectSelected.Left) / pictureBoxImage.Width * VtkControl.ImageWidth), Y = VtkControl.ImageHeight - (int)(((float)rectSelected.Bottom) / pictureBoxImage.Height * VtkControl.ImageHeight), Width = (int)(((float)rectSelected.Width) / pictureBoxImage.Width * VtkControl.ImageWidth), Height = (int)(((float)rectSelected.Height) / pictureBoxImage.Height * VtkControl.ImageHeight), }; if (imageRect.Width * imageRect.Height == 0) { imageRect = new Rectangle() { X = 0, Y = 0, Width = VtkControl.ImageWidth, Height = VtkControl.ImageHeight }; VtkControl.RectPolyData = vtkPolyData.New(); VtkControl.RectPolyData.DeepCopy(VtkControl.PolyData); VtkControl.RectImageData = vtkImageData.New(); VtkControl.RectImageData.DeepCopy(VtkControl.ImageData); VtkControl.SetRectModel(new Rectangle(0, 0, VtkControl.ImageWidth, VtkControl.ImageHeight)); } else { VtkControl.GetRectData(VtkControl.PolyData, imageRect); VtkControl.SetRectModel(imageRect); } vtk.renWinControl3D.RenderWindow.Render(); }