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); } } }
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); } } } }