private Color TTBigger             = Colors.Red;   //for TT values in the last(bigger) range

        public EnergyVisualisationNode(Core.VplControl hostCanvas) : base(hostCanvas)
        {
            // Init UI
            IsResizeable = true;

            AddInputPortToNode("Model", typeof(string));
            AddOutputPortToNode("SelectedEntities", typeof(List <IfcGloballyUniqueId>));

            EnergyVisualisationControl energyVisualisationControl = new EnergyVisualisationControl();

            _viewPort = energyVisualisationControl.Viewport3D;

            //create a bar
            //  ProgressBar ColorBarAll = new ProgressBar();//creates a new progress bar, it can be any other control, but this will work
            ProgressBar ColorBar = energyVisualisationControl.ColorBarAll;

            //  ColorBarAll.Height = 20;//defines the height
            //  ColorBarAll.Width = 400;//defines the width
            //ColorBar.Background=new Color(Color)
            ColorBar.Value = 0;//just keeps the progress bar empty
            _Colors        = GetStaticPropertyBag(typeof(Colors)).ToList();

            AddControlToNode(energyVisualisationControl); //#0
                                                          //   AddControlToNode(ColorBarAll);//#1
        }
        public static void CreateModel(ref HelixViewport3D viewPort)
        {
            if (device3D == null)
            {
                if (File.Exists(MODEL_PATH))
                {
                    viewPort3d = viewPort;


                    device3D         = new ModelVisual3D();
                    device3D.Content = Display3d();
                    StartPosition    = device3D.Transform.Value;

                    viewPort3d.Camera.LookDirection = new Vector3D(14.32, -15.95, -7.48);
                    viewPort3d.Camera.UpDirection   = new Vector3D(-0.354, 0.392, 0.834);
                    viewPort3d.Camera.Position      = new Point3D(-16.52, 16.62, 9);
                    //viewPort3d.CameraController.CameraTarget = new Point3D(-2.2, 0.6, 1.5);
                    viewPort3d.Children.Add(device3D);
                }
                else
                {
                    MessageBox.Show("Wrong path to model!");
                }
            }
        }
Example #3
0
        public void StartDraw(HelixViewport3D helix)
        {
            brush = new SolidColorBrush(Color.FromRgb(0, 0, 255));
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        box[i, j, k] = new BoxVisual3D();
                    }
                }
            }

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        box[i, j, k].Width  = 4;
                        box[i, j, k].Height = 4;
                        box[i, j, k].Length = 4;
                        box[i, j, k].Center = new System.Windows.Media.Media3D.Point3D(10 * i, 10 * j, 10 * k);
                        box[i, j, k].Fill   = brush;
                        helix.Children.Add(box[i, j, k]);
                    }
                }
            }
        }
        void hv_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            HelixViewport3D hv = e.Source as HelixViewport3D;

            if (hv == null)
            {
                return;
            }

            Point3D          p;
            Vector3D         v;
            DependencyObject d;

            if (hv.FindNearest(e.GetPosition(hv), out p, out v, out d))
            {
                ModelVisual3D mv3d = d as ModelVisual3D;

                ModelVisual3D parent = mv3d.GetValue(MyProperties.MyParentProperty) as ModelVisual3D;

                // object o  = mv3d.GetValue(MyProperties.MyParentProperty);


                string mouseDownObjName = parent != null ? _dict[parent] : _dict[mv3d];

                List <DataGridObject> objs = dg_Variables.ItemsSource as List <DataGridObject>;

                idxSelectedRow = objs.FindIndex(a => a.Name == mouseDownObjName);

                DataGridRow row = dg_Variables.ItemContainerGenerator.ContainerFromIndex(idxSelectedRow) as DataGridRow;

                row.Background = PropertyServer.SelectedRowBackground;

                Logger.Log(sender, "Row background color changed - selected");
            }
        }
Example #5
0
 public Scene3D(HelixViewport3D viewport, GridLinesVisual3D grid, LightSetup light, PanoramaCube3D panoramaCube3D)
 {
     this.viewport       = viewport;
     this.grid           = grid;
     this.light          = light;
     this.panoramaCube3D = panoramaCube3D;
 }
Example #6
0
        public void Initialize(HelixViewport3D left)
        {
            int n = numberOfComponents;

            components = new Component[n];
            joints     = new Joint[n + 1];
            for (int i = 0; i < n; i++)
            {
                components[i] = new Component();
            }
            for (int i = 0; i < n + 1; i++)
            {
                joints[i] = new Joint();
            }
            for (int i = 0; i < n; i++)
            {
                components[i].Begin  = joints[i];
                components[i].End    = joints[i + 1];
                components[i].Length = 5.0f;
                left.Children.Add(components[i].Tube);
            }

            components[2].Tube.Fill = Brushes.Red;
            //components[0].Length = 0.0f;
            //components[1].Length = 5.0f;
            //components[3].Length = 2.0f;
            //components[4].Length = 1.0f;

            joints[2].AddCyllinder(left);
            joints[3].AddCyllinder(left);
            joints[4].AddCyllinder(left);
            joints[5].AddCyllinder(left);

            //Update();
        }
Example #7
0
        private void Viewport_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                DebugUtil.LogWithLocation("Clicked on viewport");
                HelixViewport3D viewport   = (HelixViewport3D)sender;
                var             overlayHit = viewport.Viewport
                                             .FindHits(e.GetPosition(Overlay))
                                             .FirstOrDefault();

                if (overlayHit != null)
                {
                    //do something
                }
                else
                {
                    //no hit in overlay
                    //check if this hits anything in the underlaying viewport
                    var scenehit = viewport.Viewport
                                   .FindHits(e.GetPosition(Scene))
                                   .FirstOrDefault();
                    if (scenehit != null)
                    {
                        SceneActor selectedActor
                            = VisualFactory?.GetRenderItem(RenderingMode.Solid, scenehit.Visual);
                        if (selectedActor != null)
                        {
                            ActorClicked?.Invoke(selectedActor.Transform.Parent);
                        }
                    }
                }
            }
        }
Example #8
0
//        public MainViewModel(IFileDialogService fds, HelixViewport3D hv, ModelVisual3D rootModel)
        public MainViewModel(IFileDialogService fds, HelixViewport3D hv, MainWindow window)
        {
            Expansion              = 1;
            FileDialogService      = fds;
            HelixView              = hv;
            FileOpenCommand        = new DelegateCommand(FileOpen);
            FileOpenRawCommand     = new DelegateCommand(FileOpenRaw);
            FileExportCommand      = new DelegateCommand(FileExport);
            FileExportRawCommand   = new DelegateCommand(FileExportRaw);
            FileExitCommand        = new DelegateCommand(FileExit);
            ViewZoomExtentsCommand = new DelegateCommand(ViewZoomExtents);
            EditCopyXamlCommand    = new DelegateCommand(CopyXaml);
            EditClearAreaCommand   = new DelegateCommand(ClearArea);
            FileExportStlCommand   = new DelegateCommand(StlFileExport);


            ApplicationTitle = "Dental.Smile - 3D Viewer";

            ModelToBaseMarker = new Dictionary <Model3D, BaseMarker>();
            OriginalMaterial  = new Dictionary <Model3D, Material>();

            //Elements = new List<VisualElement>();
            //foreach (var c in hv.Children) Elements.Add(new VisualElement(c));

            DB         = DentalSmileDBFactory.GetInstance();
            Treatment  = new Treatment();
            SmileFile  = new SmileFile();
            Patient    = new Patient();
            JawVisual  = new JawVisual3D(Patient);
            RootVisual = window.vmodel;
            app        = Application.Current as App;

            RootVisual.Children.Add(JawVisual);
            this.window = window;
        }
Example #9
0
        private List <D3Model> AddData()
        {
            d3ModelsList = new List <D3Model>();
            HelixViewport3D helixViewport3D1 = new HelixViewport3D()
            {
                Name = "One"
            };
            HelixViewport3D helixViewport3D2 = new HelixViewport3D()
            {
                Name = "Three"
            };
            HelixViewport3D helixViewport3D3 = new HelixViewport3D()
            {
                Name = "Four"
            };

            helixViewport3D1.Children.Add(new DefaultLights());
            helixViewport3D1.Children.Add(new Teapot());
            d3ModelsList.Add(new D3Model()
            {
                id = 1, Name = helixViewport3D1.Name, helixViewport3D = helixViewport3D1
            });
            helixViewport3D2.Children.Add(new DefaultLights());
            d3ModelsList.Add(new D3Model()
            {
                id = 2, Name = helixViewport3D2.Name, helixViewport3D = helixViewport3D2
            });
            helixViewport3D3.Children.Add(new Teapot());
            d3ModelsList.Add(new D3Model()
            {
                id = 3, Name = helixViewport3D3.Name, helixViewport3D = helixViewport3D3
            });
            return(d3ModelsList);
        }
Example #10
0
        public void Wpf_Export_Triangle_Valid()
        {
            var b1 = new MeshBuilder();

            b1.AddTriangle(new Point3D(0, 0, 0), new Point3D(0, 0, 1), new Point3D(0, 1, 0));
            var meshGeometry = b1.ToMesh();

            var mesh = new MeshGeometryVisual3D();

            mesh.MeshGeometry = meshGeometry;
            mesh.Material     = Materials.Green;
            mesh.Transform    = new TranslateTransform3D(2, 0, 0);

            var viewport = new HelixViewport3D();

            viewport.Items.Add(mesh);

            string temp    = Path.GetTempPath();
            var    objPath = temp + "model.obj";
            var    mtlPath = temp + "model.mtl";

            try
            {
                viewport.Export(objPath);

                string contentObj  = File.ReadAllText(objPath);
                string expectedObj = @"mtllib ./model.mtl
o object1
g group1
usemtl mat1
v 2 0 0
v 2 0 1
v 2 1 0
# 3 vertices
vt 0 1
vt 1 1
vt 0 0
# 3 texture coordinates
f 1/1 2/2 3/3
# 1 faces

";

                Assert.AreEqual(expectedObj.Replace("\r\n", "\n"), contentObj.Replace("\r\n", "\n"));

                string contentMtl = File.ReadAllText(mtlPath);
            }
            finally
            {
                if (File.Exists(objPath))
                {
                    File.Delete(objPath);
                }

                if (File.Exists(mtlPath))
                {
                    File.Delete(mtlPath);
                }
            }
        }
Example #11
0
 public RendererViewport(HelixViewport3D sceneViewport)
 {
     RenderMode         = RenderingMode.Solid;
     this.viewport      = sceneViewport;
     this.visualFactory = VisualFactory;
     listeners          = new List <RenderItemListener>();
 }
Example #12
0
        //INTEGRATION
        public MainViewModel(IFileDialogService fds, HelixViewport3D hv, Treatment treatment, SmileFile file, bool duplicate, MainWindow window)
        {
            Expansion          = 1;
            FileDialogService  = fds;
            HelixView          = hv;
            FileOpenCommand    = new DelegateCommand(FileOpen);
            FileOpenRawCommand = new DelegateCommand(FileOpenRaw);
            //FileExportCommand = new DelegateCommand(FileExport);
            FileExportCommand      = new DelegateCommand(ConfirmDirectFileExport);
            FileExportRawCommand   = new DelegateCommand(FileExportRaw);
            FileExitCommand        = new DelegateCommand(FileExit);
            ViewZoomExtentsCommand = new DelegateCommand(ViewZoomExtents);
            EditCopyXamlCommand    = new DelegateCommand(CopyXaml);
            EditClearAreaCommand   = new DelegateCommand(ClearArea);
            FileExportStlCommand   = new DelegateCommand(StlFileExport);


            ApplicationTitle = "Dental Smile - 3D Viewer";

            ModelToBaseMarker = new Dictionary <Model3D, BaseMarker>();
            OriginalMaterial  = new Dictionary <Model3D, Material>();

            //Elements = new List<VisualElement>();
            //foreach (var c in hv.Children) Elements.Add(new VisualElement(c));

            this.window = window;
            RootVisual  = window.vmodel;

            handleManipulationData(treatment, file, duplicate);

            //JawVisual = new JawVisual3D(Patient);
            //RootVisual.Children.Add(JawVisual);
        }
Example #13
0
        public void Initialize(HelixViewport3D viewport)
        {
            components = new Element[componentsCount];
            for (int i = 0; i < componentsCount; i++)
            {
                components[i] = new Element();
            }
            joints = new Joint[componentsCount + 1];
            for (int i = 0; i < componentsCount + 1; i++)
            {
                joints[i] = new Joint();
            }
            for (int i = 0; i < componentsCount; i++)
            {
                components[i].Begin = joints[i];
                components[i].End   = joints[i + 1];
                viewport.Children.Add(components[i].Tube);
                viewport.Children.Add(components[i].Sphere);
            }

            components[0].Length = 0.0f;
            components[1].Length = 5.0f;
            components[3].Length = 2.0f;
            components[4].Length = 1.0f;
        }
Example #14
0
        public void Attach(HelixViewport3D viewport)
        {
            this.viewport = viewport;

            // add the point cloud model to the viewport to display it
            this.viewport.Children.Add(this.pointCloudModel.Model);
        }
        public MainViewModel(IFileDialogService fds, HelixViewport3D viewport, HelixViewport3D viewport2)
        {
            if (viewport == null || viewport2 == null)
            {
                throw new ArgumentNullException("Neither viewport nor viewport2 is NULL!");
            }

            this.dispatcher             = Dispatcher.CurrentDispatcher;
            this.Expansion              = 1;
            this.fileDialogService      = fds;
            this.viewport               = viewport;
            this.viewport2              = viewport2;
            this.FileOpenCommand        = new DelegateCommand(this.FileOpen);
            this.FileExportCommand      = new DelegateCommand(this.FileExport);
            this.FileExitCommand        = new DelegateCommand(FileExit);
            this.ViewZoomExtentsCommand = new DelegateCommand(this.ViewZoomExtents);
            this.EditCopyXamlCommand    = new DelegateCommand(this.CopyXaml);
            this.ApplicationTitle       = "Medical 3D Model viewer";
            this.Elements               = new List <VisualViewModel>();
            foreach (var c in viewport.Children)
            {
                this.Elements.Add(new VisualViewModel(c));
            }
            foreach (var c in viewport2.Children)
            {
                this.Elements.Add(new VisualViewModel(c));
            }
            this.Info1 = "This is a test";
        }
Example #16
0
        private void GizmoHandler_SelectionGizmoRemoved(IGizmo gizmo, GizmoHandler.ViewportLayer layer)
        {
            HelixViewport3D viewport = GetViewport(layer);

            viewport.Children.Remove(gizmo.Visual);
            visibleGizmos.Remove(gizmo);
        }
Example #17
0
        public Robot(HelixViewport3D left, ModelVisual3D FrameStartEuler, ModelVisual3D FrameEndEuler)
        {
            this.startFrameEuler = FrameStartEuler;
            this.endFrameEuler   = FrameEndEuler;

            Initialize(left);
        }
Example #18
0
        public HelixViewport3D CreateControl(DataStore data)
        {
            HelixViewport3D control = new HelixViewport3D();

            Deserialize(control, data);

            return(control);
        }
Example #19
0
 public void LoadHelixViewPort(FrameworkElement control)
 {
     HelixViewPort = control.FindChild <HelixViewport3D>("mHelixViewPort");
     if (HelixViewPort != null)
     {
         HelixViewPort.Camera = PerspectiveCamera;
     }
 }
        public BlockScene(HelixViewport3D viewport, List <IFeature> basePaths)
        {
            Viewport  = viewport;
            BasePaths = basePaths;
            Blocks    = new List <ExtrudedVisual3D>();

            Init();
        }
Example #21
0
 public PUMA(HelixViewport3D viewport, ModelVisual3D start, ModelVisual3D end)
 {
     startFrame = start;
     endFrame   = end;
     converter  = Singleton <EulerToQuaternionConverter> .Instance;
     mathHelper = Singleton <MathHelper> .Instance;
     Initialize(viewport);
 }
Example #22
0
        public ChartScene(HelixViewport3D viewport, int m, int n)
        {
            Viewport = viewport;
            M        = m;
            N        = n;
            Boxes    = new List <BoxVisual3D>();

            Init();
        }
        private void Create3DViewPort()
        {
            var hVp3D  = new HelixViewport3D();
            var lights = new DefaultLights();
            var teaPot = new Teapot();

            hVp3D.Children.Add(lights);
            hVp3D.Children.Add(teaPot);
        }
        public BlockScene(HelixViewport3D viewport, Map map)
        {
            this.Viewport = viewport;
            this.Map      = map;
            this.Blocks   = new List <Visual3D>();
            this.Roads    = new List <Visual3D>();

            this.Init();
        }
Example #25
0
 private void ViewportUnHighlighted()
 {
     foreach (IGizmo gizmo in visibleGizmos)
     {
         DebugUtil.LogWithLocation("Unhighlighted" + ViewportID.ToString());
         HelixViewport3D viewport = GetViewport(gizmo.Layer);
         viewport.Children.Remove(gizmo.Visual);
     }
 }
Example #26
0
        public MyTask5(string name, int number, IFileDialog dialog, HelixViewport3D viewport) : base(name, number, dialog, viewport)
        {
            MaxPointOz = 25;
            MinPointOz = -25;

            Start     = new DelegateCommand(StartTransformation);
            Stop      = new DelegateCommand(StopTask);
            _myThread = new Thread(Move);
        }
Example #27
0
 public MyTask3(string name, int number, IFileDialog dialog, HelixViewport3D viewport)
 {
     _viewport   = viewport ?? throw new ArgumentNullException(nameof(viewport));
     Name        = name;
     Number      = number;
     _dialog     = dialog;
     _dispatcher = Dispatcher.CurrentDispatcher;
     Load        = new DelegateCommand(LoadFile);
     Clear       = new DelegateCommand(ClearContent);
 }
Example #28
0
        private void Create3DViewPort()
        {
            var hVp3D  = new HelixViewport3D();
            var lights = new DefaultLights();
            var sphere = new SphereVisual3D();
            var cube   = new CubeVisual3D();

            hVp3D.Children.Add(lights);
            hVp3D.Children.Add(sphere);
        }
Example #29
0
        private void Create3DViewPort()
        {
            //var viewport = new HelixViewport3D();
            HelixViewport3D viewport = new HelixViewport3D();

            this.grid.Children.Add(viewport);
            var lights = new DefaultLights();

            viewport.Children.Add(new GridLinesVisual3D());
            viewport.Children.Add(lights);
            box.Width  = 6;
            box.Height = 6;
            box.Length = 6;
            box.Fill   = Brushes.Yellow;
            viewport.Children.Add(box);

            BoxVisual3D bPlane = new BoxVisual3D();

            bPlane.Height = 1;
            bPlane.Width  = 30;
            bPlane.Length = 30;
            bPlane.Fill   = Brushes.Pink;
            bPlane.Center = new Point3D(35, 30, -1);

            // Plane3D bPlane = new Plane3D();
            viewport.Children.Add(bPlane);


            BoxVisual3D cPlane = new BoxVisual3D();

            cPlane.Height = 30;
            cPlane.Width  = 1;
            cPlane.Length = 30;
            cPlane.Fill   = Brushes.Pink;
            cPlane.Center = new Point3D(35, 15, 14);
            viewport.Children.Add(cPlane);

            BoxVisual3D dPlane = new BoxVisual3D();

            dPlane.Height = 30;
            dPlane.Width  = 30;
            dPlane.Length = 1;
            dPlane.Fill   = Brushes.Pink;
            dPlane.Center = new Point3D(20, 30, 14);
            viewport.Children.Add(dPlane);

            BoxVisual3D ePlane = new BoxVisual3D();

            ePlane.Height = 30;
            ePlane.Width  = 30;
            ePlane.Length = 1;
            ePlane.Fill   = Brushes.Pink;
            ePlane.Center = new Point3D(50, 30, 14);
            viewport.Children.Add(ePlane);
        }
        public void load3dModel()
        {
            ObjReader    CurrentHelixObjReader = new ObjReader();
            Model3DGroup MyModel = CurrentHelixObjReader.Read(@"C:\Users\Uğurcan Soruç\Desktop\Flight_GCS\Flight_GCS\3.6.2019 Arayuz SON\FullArayüz-Yedek\uydu.obj");

            model.Content = MyModel;
            var hVp3D = new HelixViewport3D();
            var mode  = new ModelVisual3D();

            hVp3D.Children.Add(mode);
        }