Esempio n. 1
0
 public void ChangeScene(ScenegraphViewModel scene)
 {
     if (scene != null)
     {
         ReleaseCurrentScene();
     }
     this.scene = scene;
 }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="d"></param>
        /// <param name="e"></param>
        private static void OnSceneGraphChanged(DependencyObject d,
                                                DependencyPropertyChangedEventArgs e)
        {
            Aegir.Util.DebugUtil.LogWithLocation("ScenegraphDP Callback triggered");
            RenderView          view     = d as RenderView;
            ScenegraphViewModel newScene = e.NewValue as ScenegraphViewModel;
            ScenegraphViewModel oldScene = e.OldValue as ScenegraphViewModel;

            if (newScene != null)
            {
                view.OnSceneGraphInstanceChanged(newScene, oldScene);
            }
        }
Esempio n. 3
0
 public void OnSceneGraphInstanceChanged(ScenegraphViewModel newScene,
                                         ScenegraphViewModel oldScene)
 {
     Aegir.Util.DebugUtil.LogWithLocation("Scene Instance changed");
     //unlisten old
     if (oldScene != null)
     {
         oldScene.ScenegraphChanged  -= OnSceneGraphChanged;
         oldScene.InvalidateChildren -= OnInvalidateChildren;
     }
     if (newScene == null)
     {
         throw new ArgumentNullException("newScene",
                                         "Argument newScene cannot be set to a null reference");
     }
     newScene.ScenegraphChanged  += OnSceneGraphChanged;
     newScene.InvalidateChildren += OnInvalidateChildren;
     RenderHandler.ChangeScene(newScene);
 }