[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53876] trunk/blender/source/blender: minor changes to view3d

Campbell Barton ideasman42 at gmail.com
Thu Jan 17 09:46:48 CET 2013


Revision: 53876
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53876
Author:   campbellbarton
Date:     2013-01-17 08:46:46 +0000 (Thu, 17 Jan 2013)
Log Message:
-----------
minor changes to view3d
- BKE_camera_params_from_object now sets the lens to 35 if the object isnt a camera/lamp, without this the view3d lens would be used in camera view.
- running smooth-view multiple times now stores the initial user view rather then over-writing from the current state each time re-smoothview runs.
- redraw panels after smoothview finishes.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/camera.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_view.c

Modified: trunk/blender/source/blender/blenkernel/intern/camera.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/camera.c	2013-01-17 08:07:09 UTC (rev 53875)
+++ trunk/blender/source/blender/blenkernel/intern/camera.c	2013-01-17 08:46:46 UTC (rev 53876)
@@ -237,6 +237,9 @@
 		params->clipsta = la->clipsta;
 		params->clipend = la->clipend;
 	}
+	else {
+		params->lens = 35.0f;
+	}
 }
 
 void BKE_camera_params_from_view3d(CameraParams *params, View3D *v3d, RegionView3D *rv3d)

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2013-01-17 08:07:09 UTC (rev 53875)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2013-01-17 08:46:46 UTC (rev 53876)
@@ -4274,8 +4274,6 @@
 		CameraParams params;
 
 		BKE_camera_params_init(&params);
-		/* incase we can't get the lens */
-		params.lens = *lens;
 		BKE_camera_params_from_object(&params, ob);
 		*lens = params.lens;
 	}

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2013-01-17 08:07:09 UTC (rev 53875)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_view.c	2013-01-17 08:46:46 UTC (rev 53876)
@@ -163,9 +163,17 @@
 	
 	/* initialize sms */
 	view3d_smooth_view_state_backup(&sms.dst, v3d, rv3d);
-	view3d_smooth_view_state_backup(&sms.org, v3d, rv3d);
 	view3d_smooth_view_state_backup(&sms.src, v3d, rv3d);
-	sms.to_camera = false;
+	/* if smoothview runs multiple times... */
+	if (rv3d->sms == NULL) {
+		view3d_smooth_view_state_backup(&sms.org, v3d, rv3d);
+		sms.org_view = rv3d->view;
+	}
+	else {
+		sms.org = rv3d->sms->org;
+		sms.org_view = rv3d->sms->org_view;
+	}
+	/* sms.to_camera = false; */  /* initizlized to zero anyway */
 
 	/* note on camera locking, this is a little confusing but works ok.
 	 * we may be changing the view 'as if' there is no active camera, but in fact
@@ -217,7 +225,6 @@
 			/* grid draw as floor */
 			if ((rv3d->viewlock & RV3D_LOCKED) == 0) {
 				/* use existing if exists, means multiple calls to smooth view wont loose the original 'view' setting */
-				sms.org_view = rv3d->sms ? rv3d->sms->org_view : rv3d->view;
 				rv3d->view = RV3D_VIEW_USER;
 			}
 
@@ -347,12 +354,16 @@
 		view3d_boxview_copy(CTX_wm_area(C), CTX_wm_region(C));
 
 	/* note: this doesn't work right because the v3d->lens is now used in ortho mode r51636,
-	 * when switching camera in quad-view the other ortho views would zoom & reset. */
-#if 0
-	WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
-#else
-	ED_region_tag_redraw(CTX_wm_region(C));
-#endif
+	 * when switching camera in quad-view the other ortho views would zoom & reset.
+	 *
+	 * For now only redraw all regions when smoothview finishes.
+	 */
+	if (step >= 1.0f) {
+		WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
+	}
+	else {
+		ED_region_tag_redraw(CTX_wm_region(C));
+	}
 	
 	return OPERATOR_FINISHED;
 }




More information about the Bf-blender-cvs mailing list