private void CreateBSplineSurface() { var viewModel = BezierSurfaceCreationViewModel.ShowDialog(); if (viewModel == null) { return; } BSplineSurfaceWorldObject surface; if (viewModel.CylindricalFold) { surface = BSplineSurfaceWorldObject.CreateCylindrical(viewModel.SegmentsX, viewModel.SegmentsY, viewModel.Radius, viewModel.Height); } else { surface = BSplineSurfaceWorldObject.CreateFlatGrid(viewModel.SegmentsX, viewModel.SegmentsY, viewModel.PlaneWidth, viewModel.PlaneHeight); } surface.Name = "BSpline surface"; _scene.SmartEditTarget?.RegisterNewObject(surface); _scene.AttachObject(surface); }
public static BezierSurfaceCreationViewModel ShowDialog() { var viewModel = new BezierSurfaceCreationViewModel(); var window = new BezierSurfaceC0Creator() { DataContext = viewModel }; return((window.ShowDialog() ?? false) ? viewModel : null); }