[Bf-blender-cvs] [ba8c2be] master: Improve behavior of Setup Tracking Scene when default nodes exists in the tree

Sergey Sharybin noreply at git.blender.org
Mon Jun 2 09:12:38 CEST 2014


Commit: ba8c2be739877db351f07ac210616bb921194377
Author: Sergey Sharybin
Date:   Mon Jun 2 13:12:01 2014 +0600
https://developer.blender.org/rBba8c2be739877db351f07ac210616bb921194377

Improve behavior of Setup Tracking Scene when default nodes exists in the tree

===================================================================

M	release/scripts/startup/bl_operators/clip.py

===================================================================

diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py
index 1bd40f1..e918477 100644
--- a/release/scripts/startup/bl_operators/clip.py
+++ b/release/scripts/startup/bl_operators/clip.py
@@ -528,6 +528,17 @@ class CLIP_OT_setup_tracking_scene(Operator):
             bg.layers = [False] * 10 + [True] + [False] * 9
 
     @staticmethod
+    def _wipeDefaultNodes(tree):
+        if len(tree.nodes) != 2:
+            return False
+        types = [node.type for node in tree.nodes]
+        types.sort()
+
+        if types[0] == 'COMPOSITE' and types[1] == 'R_LAYERS':
+            while tree.nodes:
+                tree.nodes.remove(tree.nodes[0])
+
+    @staticmethod
     def _findNode(tree, type):
         for node in tree.nodes:
             if node.type == type:
@@ -587,6 +598,11 @@ class CLIP_OT_setup_tracking_scene(Operator):
 
         need_stabilization = False
 
+        # Remove all the nodes if they came from default node setup.
+        # This is simplest way to make it so final node setup is
+        # is correct.
+        self._wipeDefaultNodes(tree)
+
         # create nodes
         rlayer_fg = self._findOrCreateNode(tree, 'CompositorNodeRLayers')
         rlayer_bg = tree.nodes.new(type='CompositorNodeRLayers')




More information about the Bf-blender-cvs mailing list