diff options
author | Stephen Leger <stephen@3dservices.ch> | 2018-10-13 04:04:08 +0300 |
---|---|---|
committer | stephen <stephen@3dservices.ch> | 2018-10-14 14:27:43 +0300 |
commit | c2ad54f3ccd5a801d1a0e07f478086e4dc45510b (patch) | |
tree | d1aec438989942ab44c854150354b258df68744c /space_clip_editor_refine_solution.py | |
parent | a97851a478eda5cd7da4aa4512129603ec8342d5 (diff) |
2.8 compatibility
Diffstat (limited to 'space_clip_editor_refine_solution.py')
-rw-r--r-- | space_clip_editor_refine_solution.py | 30 |
1 files changed, 20 insertions, 10 deletions
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 |