Пример #1
0
 private void ViewModelRequestAttachToSceneHandler(Model3D model3D)
 {
     if (!model3D.IsAttached && View != null && View.RenderHost != null)
     {
         model3D.Attach(View.RenderHost);
     }
 }
Пример #2
0
 protected void OnRequestAttachToScene(Model3D model3D)
 {
     if (RequestAttachToScene != null)
     {
         RequestAttachToScene(model3D);
     }
 }
Пример #3
0
 public void OnModelHovered(HelixToolkit.Wpf.SharpDX.Model3D model)
 {
     if (this.HoverIfcItem != null)
     {
         HoverIfcItem.Mesh3d.Material = PhongMaterials.Silver;
         HoverIfcItem = null;
     }
     if (model != null)
     {
         var mesh = (model as MeshGeometryModel3D);
         if (mesh != null && this.IfcObject.MeshToIfcItems.ContainsKey(mesh))
         {
             mesh.Material = hoverMaterial;
             HoverIfcItem  = this.IfcObject.MeshToIfcItems[mesh];
         }
     }
 }
Пример #4
0
 private void ViewModelRequestAttachToSceneHandler(Model3D model3D)
 {
     if (model3D is GeometryModel3D)
     {
         if (View != null && View.RenderHost != null && !model3D.IsAttached)
         {
             model3D.Attach(View.RenderHost);
         }
     }
     else
     {
         //This is for Directional Light. When a watch is attached,
         //Directional light has to be attached one more time.
         if (!model3D.IsAttached && View != null && View.RenderHost != null)
         {
             model3D.Attach(View.RenderHost);
         }
     }
 }
Пример #5
0
        private void OnModelHovered(Model3D model)
        {
            if (_hoverIfcItem != null)
            {
                FillMeshByIfcColor(_hoverIfcItem);
                _hoverIfcItem = null;
            }
            if (model != null)
            {
                var mesh = (model as MeshGeometryModel3D);
                if (mesh != null && _meshToIfcItems.ContainsKey(mesh))
                {
                    mesh.Material = _hoverMaterial;
                    _hoverIfcItem = _meshToIfcItems[mesh];
                }
            }

            Redraw();
        }
Пример #6
0
        public void OnModelSelected(HelixToolkit.Wpf.SharpDX.Model3D model)
        {
            if (SelectedIfcItem != null)
            {
                SelectedIfcItem.ifcTreeItem.treeNode.IsSelected = false;
                SelectedIfcItem.Mesh3d.Material = PhongMaterials.Bronze;
                SelectedIfcItem = null;
            }

            if (model != null)
            {
                var mesh = (model as MeshGeometryModel3D);
                if (mesh != null && this.IfcObject.MeshToIfcItems.ContainsKey(mesh))
                {
                    mesh.Material   = selectMaterial;
                    SelectedIfcItem = this.IfcObject.MeshToIfcItems[mesh];
                    SelectedIfcItem.ifcTreeItem.treeNode.IsSelected = true;
                    SelectedIfcItem.ifcTreeItem.treeNode.Focus();
                }
            }
        }
Пример #7
0
        private void OnModelSelected(Model3D model)
        {
            if (_selectedIfcItem != null)
            {
                _selectedIfcItem.ifcTreeItem.treeNode.IsSelected = false;
                FillMeshByIfcColor(_selectedIfcItem);
                _selectedIfcItem = null;
            }

            if (model != null)
            {
                var mesh = (model as MeshGeometryModel3D);
                if (mesh != null && _meshToIfcItems.ContainsKey(mesh))
                {
                    mesh.Material    = _selectMaterial;
                    _selectedIfcItem = _meshToIfcItems[mesh];
                    _selectedIfcItem.ifcTreeItem.treeNode.IsSelected = true;
                    _selectedIfcItem.ifcTreeItem.treeNode.Focus();
                    //                    _selectedIfcItem.ifcTreeItem.treeNode.ExpandSubtree();
                }
            }

            Redraw();
        }
Пример #8
0
 private void ViewModelRequestAttachToSceneHandler(Model3D model3D)
 {
     if (!model3D.IsAttached && View != null && View.RenderHost != null)
     {
         model3D.Attach(View.RenderHost);
     }
 }
Пример #9
0
 private void ViewModelRequestAttachToSceneHandler(Model3D model3D)
 {
     if (model3D is GeometryModel3D)
     {
         if (View != null && View.RenderHost != null && !model3D.IsAttached)
         {
             model3D.Attach(View.RenderHost);
         }
     }
     else
     {
         //This is for Directional Light. When a watch is attached,
         //Directional light has to be attached one more time.
         if (!model3D.IsAttached && View != null && View.RenderHost != null)
         {
             model3D.Attach(View.RenderHost);
         }
     }
 }
Пример #10
0
        private void OnModelSelected(Model3D model)
        {
            if (_selectedIfcItem != null) {
                _selectedIfcItem.ifcTreeItem.treeNode.IsSelected = false;
                FillMeshByIfcColor(_selectedIfcItem);
                _selectedIfcItem = null;
            }

            if (model != null) {
                var mesh = (model as MeshGeometryModel3D);
                if (mesh != null && _meshToIfcItems.ContainsKey(mesh)) {
                    mesh.Material = _selectMaterial;
                    _selectedIfcItem = _meshToIfcItems[mesh];
                    _selectedIfcItem.ifcTreeItem.treeNode.IsSelected = true;
                    _selectedIfcItem.ifcTreeItem.treeNode.Focus();
                    //                    _selectedIfcItem.ifcTreeItem.treeNode.ExpandSubtree();
                }
            }

            Redraw();
        }
Пример #11
0
        private void OnModelHovered(Model3D model)
        {
            if (_hoverIfcItem != null) {
                FillMeshByIfcColor(_hoverIfcItem);
                _hoverIfcItem = null;
            }
            if (model != null) {
                var mesh = (model as MeshGeometryModel3D);
                if (mesh != null && _meshToIfcItems.ContainsKey(mesh)) {
                    mesh.Material = _hoverMaterial;
                    _hoverIfcItem = _meshToIfcItems[mesh];
                }
            }

            Redraw();
        }
Пример #12
0
 /// <summary>
 /// Traverses the Visual3D/Model3D tree and invokes the specified action on each Model3D of the specified type.
 /// </summary>
 /// <typeparam name="T">
 /// The type filter.
 /// </typeparam>
 /// <param name="element">
 /// The element.
 /// </param>
 /// <param name="action">
 /// The action.
 /// </param>
 public static void Traverse <T>(this Model3D element, Action <T, Transform3D> action) where T : Model3D
 {
     Traverse(element, action);
 }
Пример #13
0
 protected void OnRequestAttachToScene(Model3D model3D)
 {
     if (RequestAttachToScene != null)
     {
         RequestAttachToScene(model3D);
     }
 }
Пример #14
0
 /// <summary>
 /// Exports the specified model.
 /// </summary>
 /// <param name="model">
 /// The model.
 /// </param>
 public void Export(Model3D model)
 {
     this.ExportHeader();
     model.Traverse <GeometryModel3D>(this.ExportModel);
 }