[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31870] trunk/blender/source/blender: - camera max zoom limit was inconsistent
Campbell Barton
ideasman42 at gmail.com
Sat Sep 11 06:39:00 CEST 2010
Revision: 31870
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31870
Author: campbellbarton
Date: 2010-09-11 06:39:00 +0200 (Sat, 11 Sep 2010)
Log Message:
-----------
- camera max zoom limit was inconsistent
- camera pan now follows the mouse
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
trunk/blender/source/blender/makesdna/DNA_view3d_types.h
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-09-11 04:23:45 UTC (rev 31869)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-09-11 04:39:00 UTC (rev 31870)
@@ -923,7 +923,7 @@
view3d_get_viewborder_size(scene, ar, size);
rv3d->camzoom= (sqrt(4.0*im_width/size[0]) - M_SQRT2)*50.0;
- rv3d->camzoom= CLAMPIS(rv3d->camzoom, -30, 300);
+ rv3d->camzoom= CLAMPIS(rv3d->camzoom, RV3D_CAMZOOM_MIN, RV3D_CAMZOOM_MAX);
}
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2010-09-11 04:23:45 UTC (rev 31869)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2010-09-11 04:39:00 UTC (rev 31870)
@@ -854,10 +854,11 @@
static void viewmove_apply(ViewOpsData *vod, int x, int y)
{
if(vod->rv3d->persp==RV3D_CAMOB) {
- float max= (float)MAX2(vod->ar->winx, vod->ar->winy);
+ float zoomfac= (M_SQRT2 + vod->rv3d->camzoom/50.0);
+ zoomfac= (zoomfac*zoomfac)*0.5;
- vod->rv3d->camdx += (vod->oldx - x)/(max);
- vod->rv3d->camdy += (vod->oldy - y)/(max);
+ vod->rv3d->camdx += (vod->oldx - x)/(vod->ar->winx * zoomfac);
+ vod->rv3d->camdy += (vod->oldy - y)/(vod->ar->winy * zoomfac);
CLAMP(vod->rv3d->camdx, -1.0f, 1.0f);
CLAMP(vod->rv3d->camdy, -1.0f, 1.0f);
// XXX preview3d_event= 0;
@@ -1165,7 +1166,7 @@
/* this min and max is also in viewmove() */
if(rv3d->persp==RV3D_CAMOB) {
rv3d->camzoom-= 10;
- if(rv3d->camzoom<-30) rv3d->camzoom= -30;
+ if(rv3d->camzoom < RV3D_CAMZOOM_MIN) rv3d->camzoom= RV3D_CAMZOOM_MIN;
}
else if(rv3d->dist<10.0*v3d->far) {
view_zoom_mouseloc(CTX_wm_region(C), 1.2f, mx, my);
@@ -1174,7 +1175,7 @@
else {
if(rv3d->persp==RV3D_CAMOB) {
rv3d->camzoom+= 10;
- if(rv3d->camzoom>600) rv3d->camzoom= 600;
+ if(rv3d->camzoom > RV3D_CAMZOOM_MAX) rv3d->camzoom= RV3D_CAMZOOM_MAX;
}
else if(rv3d->dist> 0.001*v3d->grid) {
view_zoom_mouseloc(CTX_wm_region(C), .83333f, mx, my);
Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2010-09-11 04:23:45 UTC (rev 31869)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2010-09-11 04:39:00 UTC (rev 31870)
@@ -299,6 +299,9 @@
/* may want to use 1 for select ?*/
#define V3D_BGPIC_EXPANDED 2
+#define RV3D_CAMZOOM_MIN -30
+#define RV3D_CAMZOOM_MAX 600
+
#endif
More information about the Bf-blender-cvs
mailing list