From a605775298f3f335b33270be7686c52ada10a45d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 10 Feb 2020 12:36:49 +0100 Subject: Tracking: Fix usage PLACEHOLDER function Don't use BKE_view_layer_context_active_PLACEHOLDER which is marked as "never use this". In fact, it isn't needed to lookup for camera in the tracking function at all: camera object is always explicitly passed to it. --- source/blender/blenkernel/BKE_tracking.h | 4 +--- source/blender/blenkernel/intern/constraint.c | 2 +- source/blender/blenkernel/intern/tracking.c | 19 +++---------------- source/blender/draw/engines/overlay/overlay_extra.c | 2 +- .../blender/editors/space_clip/tracking_ops_orient.c | 8 ++++---- source/blender/editors/space_view3d/view3d_snap.c | 2 +- .../blender/editors/transform/transform_snap_object.c | 2 +- 7 files changed, 12 insertions(+), 27 deletions(-) diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h index c64d684de5a..2091078fd30 100644 --- a/source/blender/blenkernel/BKE_tracking.h +++ b/source/blender/blenkernel/BKE_tracking.h @@ -56,9 +56,7 @@ struct MovieTrackingReconstruction *BKE_tracking_get_active_reconstruction( struct MovieTracking *tracking); /* matrices for constraints and drawing */ -void BKE_tracking_get_camera_object_matrix(struct Scene *scene, - struct Object *ob, - float mat[4][4]); +void BKE_tracking_get_camera_object_matrix(struct Object *ob, float mat[4][4]); void BKE_tracking_get_projection_matrix(struct MovieTracking *tracking, struct MovieTrackingObject *object, int framenr, diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 708d0600e91..229578a38b7 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -4611,7 +4611,7 @@ static void followtrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase cob->matrix, track->bundle_pos[0], track->bundle_pos[1], track->bundle_pos[2]); } else { - BKE_tracking_get_camera_object_matrix(cob->scene, camob, mat); + BKE_tracking_get_camera_object_matrix(camob, mat); mul_m4_m4m4(cob->matrix, obmat, mat); translate_m4( diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index 86fb2ab58bc..731051f2f34 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -395,23 +395,10 @@ MovieTrackingReconstruction *BKE_tracking_get_active_reconstruction(MovieTrackin /* Get transformation matrix for a given object which is used * for parenting motion tracker reconstruction to 3D world. */ -void BKE_tracking_get_camera_object_matrix(Scene *scene, Object *ob, float mat[4][4]) +void BKE_tracking_get_camera_object_matrix(Object *ob, float mat[4][4]) { - if (!ob) { - if (scene->camera) { - ob = scene->camera; - } - else { - ob = BKE_view_layer_camera_find(BKE_view_layer_context_active_PLACEHOLDER(scene)); - } - } - - if (ob) { - BKE_object_where_is_calc_mat4(ob, mat); - } - else { - unit_m4(mat); - } + BLI_assert(ob != NULL); + BKE_object_where_is_calc_mat4(ob, mat); } /* Get projection matrix for camera specified by given tracking object diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c index 688ecaf3946..7db55ee9b34 100644 --- a/source/blender/draw/engines/overlay/overlay_extra.c +++ b/source/blender/draw/engines/overlay/overlay_extra.c @@ -876,7 +876,7 @@ static void camera_view3d_reconstruction(OVERLAY_ExtraCallBuffers *cb, UI_GetThemeColor4fv(TH_BUNDLE_SOLID, bundle_color_solid); float camera_mat[4][4], normal_mat[4][4]; - BKE_tracking_get_camera_object_matrix(scene, ob, camera_mat); + BKE_tracking_get_camera_object_matrix(ob, camera_mat); normalize_m4_m4(normal_mat, ob->obmat); diff --git a/source/blender/editors/space_clip/tracking_ops_orient.c b/source/blender/editors/space_clip/tracking_ops_orient.c index de0025a53d2..8bc77cf82cb 100644 --- a/source/blender/editors/space_clip/tracking_ops_orient.c +++ b/source/blender/editors/space_clip/tracking_ops_orient.c @@ -210,7 +210,7 @@ static int set_origin_exec(bContext *C, wmOperator *op) mul_v3_fl(median, 1.0f / selected_count); float mat[4][4], vec[3]; - BKE_tracking_get_camera_object_matrix(scene, camera, mat); + BKE_tracking_get_camera_object_matrix(camera, mat); mul_v3_m4v3(vec, mat, median); if (tracking_object->flag & TRACKING_OBJECT_CAMERA) { @@ -267,7 +267,7 @@ static void set_axis(Scene *scene, BKE_object_to_mat4(ob, obmat); - BKE_tracking_get_camera_object_matrix(scene, camera, mat); + BKE_tracking_get_camera_object_matrix(camera, mat); mul_v3_m4v3(vec, mat, track->bundle_pos); copy_v3_v3(dvec, vec); @@ -422,7 +422,7 @@ static int set_plane_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - BKE_tracking_get_camera_object_matrix(scene, camera, mat); + BKE_tracking_get_camera_object_matrix(camera, mat); /* Get 3 bundles to use as reference. */ track = tracksbase->first; @@ -629,7 +629,7 @@ static int do_set_scale(bContext *C, wmOperator *op, bool scale_solution, bool a } } - BKE_tracking_get_camera_object_matrix(scene, camera, mat); + BKE_tracking_get_camera_object_matrix(camera, mat); track = tracksbase->first; while (track) { diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c index 33930efdd52..542d6dbea8b 100644 --- a/source/blender/editors/space_view3d/view3d_snap.c +++ b/source/blender/editors/space_view3d/view3d_snap.c @@ -709,7 +709,7 @@ static void bundle_midpoint(Scene *scene, Object *ob, float r_vec[3]) copy_m4_m4(cammat, ob->obmat); - BKE_tracking_get_camera_object_matrix(scene, ob, mat); + BKE_tracking_get_camera_object_matrix(ob, mat); INIT_MINMAX(min, max); diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index 63b9eb3937a..72076f64aa8 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -2055,7 +2055,7 @@ static short snapCamera(const SnapObjectContext *sctx, tracking = &clip->tracking; - BKE_tracking_get_camera_object_matrix(scene, object, orig_camera_mat); + BKE_tracking_get_camera_object_matrix(object, orig_camera_mat); invert_m4_m4(orig_camera_imat, orig_camera_mat); invert_m4_m4(imat, obmat); -- cgit v1.2.3