Пример #1
0
        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);
        }