Ejemplo n.º 1
0
        /// <summary>
        ///     Constructor
        /// </summary>
        /// <param name="hostCanvas"></param>
        public Watch3DxNode(Core.VplControl hostCanvas)
            : base(hostCanvas)
        {
            // Input
            AddInputPortToNode("Object", typeof(object));

            // mainViewModel = new MainViewModel();
            // mainViewModel = new MainViewModel();

            IsResizeable = true;
            // _control = new Watch3DxControl {DataContext = mainViewModel};
            _control = new Watch3DxControl();
            AddControlToNode(_control);
        }
Ejemplo n.º 2
0
        public Watch3DNodeDx(Core.VplControl hostCanvas) : base(hostCanvas)
        {
            // Add Control s
            _control = new Watch3DxControl();
            AddControlToNode(_control);

            // Set Node resizable ...
            IsResizeable = true;

            // Add Control s
            _control = new Watch3DxControl();

            /*
             * {
             *  ViewPort3D =
             *  {
             *
             *      Background = new SolidColorBrush(Colors.White),
             *      Camera =
             *          new PerspectiveCamera
             *          {
             *              Position = new Point3D(0, 0, 0),
             *              NearPlaneDistance = 0.1,
             *              FarPlaneDistance = double.PositiveInfinity,
             *              LookDirection = new Vector3D(-3, -3, -5),
             *              UpDirection = new Vector3D(0, 1, 0)
             *          },
             *      RenderTechnique = Techniques.RenderBlinn,
             *      MaximumFieldOfView = 45,
             *      MinimumFieldOfView = 20
             *
             *  }
             * };
             */

            // ViewPort3D = _control.ViewPort3D;

            var mb = new MeshBuilder();

            for (var i = 0; i < 1000; i++)
            {
                mb.AddBox(new Vector3(i + 15, i + 15, i + 15), 100, 100, 100, BoxFaces.All);
            }

            // _control.meshModel.Material = PhongMaterials.Orange;
            // _control.meshModel.Geometry = mb.ToMeshGeometry3D();
            //_control.meshModel.Visibility = Visibility.Visible;

            var model = new MeshGeometryModel3D();

            model.Geometry = mb.ToMeshGeometry3D();
            model.Material = PhongMaterials.Orange;

            // {Geometry = mb.ToMeshGeometry3D(), Material = PhongMaterials.Orange, Visibility = Visibility.Visible};
            _control.ViewPort3D.Items.Add(model);

            _control.ViewPort3D.Items.Add(new AmbientLight3D {
                Color = Color4.White
            });
            // control.ViewPort3D.Items.Add(new DirectionalLight3D() { Color = Color4.White , Direction = new Vector3(0,0,1)});

            // _control.ViewPort3D.ShowTriangleCountInfo = true;
            // _control.ViewPort3D.ShowFieldOfView = true;

            AddControlToNode(_control);

            AddInputPortToNode("Elements", typeof(object));
        }