public void RemoveFromScene()
        {
            // remove children from scene
            if (Highlight)
            {
                Highlight = false;
            }
            foreach (IWorldObject child in children)
            {
                child.RemoveFromScene();
            }

            // remove boundary point markers from scene
            //points.RemoveFromScene();

            // remove boundary from the scene
            if (sceneBoundary != null)
            {
                Axiom.SceneManagers.Multiverse.TerrainManager.Instance.RemoveBoundary(sceneBoundary);
            }
            sceneBoundary = null;

            inScene = false;
            OnSceneChange();
        }
        public void AddToScene()
        {
            if (!inScene)
            {
                inScene = true;


                // create scene manager boundary
                sceneBoundary = new Axiom.SceneManagers.Multiverse.Boundary(WorldEditor.GetUniqueName("Boundary", name));
                Axiom.SceneManagers.Multiverse.TerrainManager.Instance.AddBoundary(sceneBoundary);
            }
            // update points list in scene manager
            RefreshPoints();

            // add all children to the scene
            foreach (IWorldObject child in children)
            {
                child.AddToScene();
            }
            OnSceneChange();
        }
        public void RemoveFromScene()
        {
            // remove children from scene
            if (Highlight)
            {
                Highlight = false;
            }
            foreach (IWorldObject child in children)
            {
                child.RemoveFromScene();
            }

            // remove boundary point markers from scene
            //points.RemoveFromScene();

            // remove boundary from the scene
            if (sceneBoundary != null)
            {
                Axiom.SceneManagers.Multiverse.TerrainManager.Instance.RemoveBoundary(sceneBoundary);
            }
            sceneBoundary = null;

            inScene = false;
            OnSceneChange();
        }
        public void AddToScene()
        {
            if (!inScene)
            {
                inScene = true;

                // create scene manager boundary
                sceneBoundary = new Axiom.SceneManagers.Multiverse.Boundary(WorldEditor.GetUniqueName("Boundary", name));
                Axiom.SceneManagers.Multiverse.TerrainManager.Instance.AddBoundary(sceneBoundary);
            }
            // update points list in scene manager
            RefreshPoints();

            // add all children to the scene
            foreach (IWorldObject child in children)
            {
                child.AddToScene();
            }
            OnSceneChange();
        }