Ejemplo n.º 1
0
        protected override void RebuildGraphics()
        {
            if (_points == null || Scenecontrol == null)
            {
                return;
            }

            if (Scenegraphics == null)
            {
                Scenegraphics = new SceneModel3DGroups[Scenecontrol.Length];
                for (int v = 0; v < Scenegraphics.Length; v++)
                {
                    ViewPortTools.ScreenSpaceLines3D spacecurve = EntityTools.Polygon3D.GetScreenSpaceLines3D(_points, _polycolor);

                    Scenegraphics[v] = new SceneModel3DGroups(spacecurve);
                }
            }
        }
Ejemplo n.º 2
0
        public void Show(int[] exclusionlist)
        {
            if (Scenegraphics == null)
            {
                RebuildGraphics();
            }
            if (Scenegraphics == null)
            {
                return;
            }
            _exclusionlist = exclusionlist;

            for (int i = 0; i < Scenecontrol.Length; i++)
            {
                if (!exclusionlist.Contains(i) && Scenecontrol[i] != null)
                {
                    if (!Scenecontrol[i].SceneElements.Children.Contains(Scenegraphics[i].Visual))
                    {
                        if (IsTransparent())
                        {
                            Scenecontrol[i].SceneElements.Children.Add(Scenegraphics[i].Visual);
                        }
                        else
                        {
                            Scenecontrol[i].SceneElements.Children.Insert(0, Scenegraphics[i].Visual);
                        }

                        ViewPortTools.ScreenSpaceLines3D s = Scenegraphics[i].Visual as ViewPortTools.ScreenSpaceLines3D;
                        if (s != null)
                        {
                            s.Render();
                        }
                    }
                }
                else
                {
                    if (Scenecontrol[i] != null)
                    {
                        Scenecontrol[i].SceneElements.Children.Remove(Scenegraphics[i].Visual);
                    }
                }
            }
        }