예제 #1
0
        private void runTestButtonClick(object sender, RoutedEventArgs e)
        {
            mainViewport.Children.Clear();
            blacklines.Points.Clear();
            redlines.Points.Clear();

            //create new buffers for lines
            blacklines.Color   = Colors.Black;
            redlines.Color     = Colors.Red;
            redlines.Thickness = 4;

            resultBox.Text = "Testing...\n";

            try
            {
                Shapes.Shape s = Shapes.Primitives.Rectangle(new Vector3D(1, 2, 0));
                //create the main scene
                MeshGeometry3D triangleMesh = new MeshGeometry3D();
                s.BuildMeshGeometry3D(triangleMesh);

                Color c = Colors.Blue;
                c.A = 100;
                Material material = new DiffuseMaterial(new SolidColorBrush(c));

                GeometryModel3D triangleModel = new GeometryModel3D(triangleMesh, material);
                ModelVisual3D   model         = new ModelVisual3D();
                model.Content = triangleModel;

                //if (ShowFaces)
                mainViewport.Children.Add(model);

                //if (ShowConvexes)
                s.BuildScreenSpaceLines(redlines);

                resultBox.Text += "Done\n";
            }
            catch (System.ApplicationException ex)
            {
                resultBox.Text += ex.Message + "\n";
            }
            finally
            {
                mainViewport.Children.Add(redlines);
                mainViewport.Children.Add(blacklines);
            }
        }