[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27145] trunk/blender/source/blender/ editors/space_view3d/view3d_view.c: fix for camera rig that has locking on the camera but not the parent.
Campbell Barton
ideasman42 at gmail.com
Thu Feb 25 22:20:01 CET 2010
Revision: 27145
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27145
Author: campbellbarton
Date: 2010-02-25 22:20:00 +0100 (Thu, 25 Feb 2010)
Log Message:
-----------
fix for camera rig that has locking on the camera but not the parent.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_view.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c 2010-02-25 21:10:43 UTC (rev 27144)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c 2010-02-25 21:20:00 UTC (rev 27145)
@@ -2500,12 +2500,10 @@
interp_v3_v3v3(dvec, dvec_tmp, fly->dvec_prev, (1.0f/(1.0f+(time_redraw*5.0f))));
if (rv3d->persp==RV3D_CAMOB) {
- if (v3d->camera->protectflag & OB_LOCK_LOCX)
- dvec[0] = 0.0;
- if (v3d->camera->protectflag & OB_LOCK_LOCY)
- dvec[1] = 0.0;
- if (v3d->camera->protectflag & OB_LOCK_LOCZ)
- dvec[2] = 0.0;
+ Object *lock_ob= fly->root_parent ? fly->root_parent : fly->v3d->camera;
+ if (lock_ob->protectflag & OB_LOCK_LOCX) dvec[0] = 0.0;
+ if (lock_ob->protectflag & OB_LOCK_LOCY) dvec[1] = 0.0;
+ if (lock_ob->protectflag & OB_LOCK_LOCZ) dvec[2] = 0.0;
}
add_v3_v3v3(rv3d->ofs, rv3d->ofs, dvec);
@@ -2536,11 +2534,18 @@
mul_m4_m4m4(parent_mat, fly->root_parent->obmat, diff_mat);
object_apply_mat4(fly->root_parent, parent_mat);
- where_is_object(scene, fly->root_parent);
+ // where_is_object(scene, fly->root_parent);
+ Object *up= v3d->camera->parent;
+ while(up) {
+ DAG_id_flush_update(&up->id, OB_RECALC_OB);
+ up= up->parent;
+ }
+
copy_m4_m4(prev_view_mat, view_mat);
id_key= &fly->root_parent->id;
+
}
else {
float view_mat[4][4];
More information about the Bf-blender-cvs
mailing list