Exemplo n.º 1
0
 /// <summary>
 /// release and remove element from the scene
 /// </summary>
 /// <param name="scene"></param>
 /// <param name="element"></param>
 public static void ReleaseElement(this ScientificVisual3DControl scene, SceneElement element)
 {
     scene.OpenGL.MakeCurrent();
     ReleaseElement(element);
     if (element.Parent != null)
     {
         SceneElement parent = element.Parent;
         if (parent != null)
         {
             parent.RemoveChild(element);
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 释放model Container中的对象
        /// </summary>
        /// <param name="scene"></param>
        public static void ReleaseContainerElements(this ScientificVisual3DControl scene)
        {
            scene.Scene.OpenGL.MakeCurrent();
            List <SceneElement> children = new List <SceneElement>();

            children.AddRange(scene.ModelContainer.Children);
            foreach (SceneElement child in children)
            {
                ReleaseElement(child);
                scene.ModelContainer.RemoveChild(child);
            }
            children.Clear();
        }