[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58614] trunk/blender/source/blender/ blenkernel/intern/camera.c: fix [#36277] Right click no longer selects the camera

Campbell Barton ideasman42 at gmail.com
Fri Jul 26 07:08:25 CEST 2013


Revision: 58614
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58614
Author:   campbellbarton
Date:     2013-07-26 05:08:24 +0000 (Fri, 26 Jul 2013)
Log Message:
-----------
fix [#36277] Right click no longer selects the camera

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/camera.c

Modified: trunk/blender/source/blender/blenkernel/intern/camera.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/camera.c	2013-07-26 04:36:53 UTC (rev 58613)
+++ trunk/blender/source/blender/blenkernel/intern/camera.c	2013-07-26 05:08:24 UTC (rev 58614)
@@ -408,26 +408,33 @@
 	}
 	else {
 		/* that way it's always visible - clipsta+0.1 */
-		float fac;
-		float half_sensor = 0.5f * ((camera->sensor_fit == CAMERA_SENSOR_FIT_VERT) ? (camera->sensor_y) : (camera->sensor_x));
+		float fac, scale_x, scale_y;
+		float half_sensor = 0.5f * ((camera->sensor_fit == CAMERA_SENSOR_FIT_VERT) ?
+		                            (camera->sensor_y) : (camera->sensor_x));
 
-		*r_drawsize = drawsize / ((scale[0] + scale[1] + scale[2]) / 3.0f);
 
 		if (do_clip) {
 			/* fixed depth, variable size (avoids exceeding clipping range) */
-			depth = -(camera->clipsta + 0.1f);
-			fac = depth / (camera->lens / (-half_sensor) * scale[2]);
+			/* r_drawsize shouldn't be used in this case, set to dummy value */
+			*r_drawsize = 1.0f;
+			depth = -(camera->clipsta + 0.1f) * scale[2];
+			fac = depth / (camera->lens / (-half_sensor));
+			scale_x = 1.0f;
+			scale_y = 1.0f;
 		}
 		else {
 			/* fixed size, variable depth (stays a reasonable size in the 3D view) */
+			*r_drawsize = drawsize / ((scale[0] + scale[1] + scale[2]) / 3.0f);
 			depth = *r_drawsize * camera->lens / (-half_sensor) * scale[2];
 			fac = *r_drawsize;
+			scale_x = scale[0];
+			scale_y = scale[1];
 		}
 
-		facx = fac * r_asp[0] * scale[0];
-		facy = fac * r_asp[1] * scale[1];
-		r_shift[0] = camera->shiftx * fac * 2 * scale[0];
-		r_shift[1] = camera->shifty * fac * 2 * scale[1];
+		facx = fac * r_asp[0] * scale_x;
+		facy = fac * r_asp[1] * scale_y;
+		r_shift[0] = camera->shiftx * fac * 2.0f * scale_x;
+		r_shift[1] = camera->shifty * fac * 2.0f * scale_y;
 	}
 
 	r_vec[0][0] = r_shift[0] + facx; r_vec[0][1] = r_shift[1] + facy; r_vec[0][2] = depth;




More information about the Bf-blender-cvs mailing list