[Bf-extensions-cvs] [c2ad54f3] blender2.8: 2.8 compatibility

Stephen Leger noreply at git.blender.org
Sun Oct 14 14:11:02 CEST 2018


Commit: c2ad54f3ccd5a801d1a0e07f478086e4dc45510b
Author: Stephen Leger
Date:   Sat Oct 13 03:04:08 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBAc2ad54f3ccd5a801d1a0e07f478086e4dc45510b

2.8 compatibility

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

M	space_clip_editor_refine_solution.py

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

diff --git a/space_clip_editor_refine_solution.py b/space_clip_editor_refine_solution.py
index a3287b78..2287714b 100644
--- a/space_clip_editor_refine_solution.py
+++ b/space_clip_editor_refine_solution.py
@@ -18,12 +18,14 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
+# <pep8 compliant>
+
 bl_info = {
     "name": "Refine tracking solution",
     "author": "Stephen Leger",
     "license": "GPL",
-    "version": (1, 1, 3),
-    "blender": (2, 7, 8),
+    "version": (1, 1, 4),
+    "blender": (2, 80, 0),
     "location": "Clip Editor > Tools > Solve > Refine Solution",
     "description": "Refine motion solution by setting track weight according"
                    " to reprojection error",
@@ -70,10 +72,9 @@ class OP_Tracking_refine_solution(Operator):
         marker_position = Vector()
 
         for frame in range(start, end):
-            camera = tracking.reconstruction.cameras.find_frame(frame)
+            camera = tracking.reconstruction.cameras.find_frame(frame=frame)
             if camera is not None:
-                imat = camera.matrix.inverted()
-                projection_matrix = imat.transposed()
+                camera_invert = camera.matrix.inverted()
             else:
                 continue
 
@@ -102,7 +103,7 @@ class OP_Tracking_refine_solution(Operator):
                 else:
                     tw = 1.0
 
-                reprojected_position = track.bundle * projection_matrix
+                reprojected_position = camera_invert @ track.bundle
                 if reprojected_position.z == 0:
                     track.weight = 0
                     track.keyframe_insert("weight", frame=frame)
@@ -152,11 +153,11 @@ class OP_Tracking_reset_solution(Operator):
         start = tracking.reconstruction.cameras[0].frame
         end = tracking.reconstruction.cameras[-1].frame
         for frame in range(start, end):
-            camera = tracking.reconstruction.cameras.find_frame(frame)
+            camera = tracking.reconstruction.cameras.find_frame(frame=frame)
             if camera is None:
                 continue
             for track in tracking.tracks:
-                marker = track.markers.find_frame(frame)
+                marker = track.markers.find_frame(frame=frame)
                 if marker is None:
                     continue
                 track.weight = 1.0
@@ -191,6 +192,13 @@ class RefineMotionTrackingPanel(Panel):
         row.operator("tracking.reset_solution")
 
 
+classes =(
+    OP_Tracking_refine_solution,
+    OP_Tracking_reset_solution,
+    RefineMotionTrackingPanel
+    )
+
+
 def register():
     bpy.types.WindowManager.TrackingTargetError = FloatProperty(
             name="Target Error",
@@ -204,11 +212,13 @@ def register():
             default=25,
             min=1
             )
-    bpy.utils.register_module(__name__)
+    for cls in classes:
+        bpy.utils.register_class(cls)
 
 
 def unregister():
-    bpy.utils.unregister_module(__name__)
+    for cls in reversed(classes):
+        bpy.utils.unregister_class(cls)
     del bpy.types.WindowManager.TrackingTargetError
     del bpy.types.WindowManager.TrackingSmooth



More information about the Bf-extensions-cvs mailing list