public ChapterHiermod()
        {
            this.InitializeComponent();

            LoadFlowDocumentPageViewerWithXAMLFile();

            tb             = new _3DTools.Trackball(VP3D.Camera);
            tb.EventSource = VP3D;

            sky.Geometry = Sky.GenerateSky();
        }
예제 #2
0
   /// <summary>
   /// //////////////////////////////////////////
   /// </summary>

 
        private void BuildSolid()
        {

            tr = new Trackball();
            tr.EventSource = this.viewport;// src ev used in track.cs
            this.viewport.Camera.Transform = tr.Transform;

 

        }
예제 #3
0
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            tr = new Trackball();
            tr.EventSource = this.viewport;// src ev used in track.cs
            this.viewport.Camera.Transform = tr.Transform;

        }
예제 #4
0
        public Simple3DSceneInCode()
        {
            Title       = "Simple 3D Scene in Code";
            this.Width  = 900;
            this.Height = 600;

            DockPanel dock = new DockPanel();

            Content = dock;

            ScrollBar scroll = new ScrollBar();

            scroll.Orientation   = Orientation.Horizontal;
            scroll.Value         = -2;
            scroll.Minimum       = -2;
            scroll.Maximum       = 2;
            scroll.ValueChanged += ScrollBarOnValueChanged;
            dock.Children.Add(scroll);
            DockPanel.SetDock(scroll, Dock.Bottom);


            Viewport3D viewport = new Viewport3D();

            dock.Children.Add(viewport);

            MeshGeometry3D mesh = new MeshGeometry3D();

            mesh.Positions.Add(new Point3D(0, 0, 0));
            mesh.Positions.Add(new Point3D(0, 1, -1));
            mesh.Positions.Add(new Point3D(0, 0, -2));
            mesh.TriangleIndices = new Int32Collection {
                0, 1, 2
            };

            DrawTor(new Point3D(0, 0, 0), 2, 1, 50, 25, Colors.LightGreen, ref viewport);


            GeometryModel3D geomod = new GeometryModel3D();

            //geomod.Geometry = Pyramid(2.0, 2.0);//Konus(3.0, 1.0, 9);
            geomod.Material     = new DiffuseMaterial(new LinearGradientBrush(Colors.DarkBlue, Colors.LightBlue, 90.0));
            geomod.BackMaterial = new DiffuseMaterial(Brushes.Red);

            ModelVisual3D modvis = new ModelVisual3D();

            //modvis.Content = geomod;
            viewport.Children.Add(modvis);

            modvis         = new ModelVisual3D();
            modvis.Content = new PointLight
            {
                Position             = new Point3D(0.0, 10.0, 0.0),
                Color                = Colors.White,
                ConstantAttenuation  = 1.0,
                LinearAttenuation    = 0.0,
                QuadraticAttenuation = 0.0
            };
            viewport.Children.Add(modvis);

            // Создаем камеру
            cam = new PerspectiveCamera(new Point3D(0, 0, 10),
                                        new Vector3D(0, 0, -1), new Vector3D(0, 1, 0), 45);
            viewport.Camera = cam;


            Trackball track = new Trackball();

            track.EventSource         = viewport;
            viewport.Camera.Transform = track.Transform;
        }