Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-05-20 08:14:29 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-05-20 08:14:29 +0400
commit984d2e42e4a81c1f92dc405ce1b265842bc94b9a (patch)
tree21b11fb1d14a552bebb032a452cbd54ae9036d07 /source/blender/blenkernel/intern/screen.c
parentc07012b41e3da6df172e0bee407ac9623ddf4b03 (diff)
make api functions for converting rv3d->camzoom, so the odd logic for this isn't inlined all over.
Diffstat (limited to 'source/blender/blenkernel/intern/screen.c')
-rw-r--r--source/blender/blenkernel/intern/screen.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 63e35408381..3207975c6f9 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -416,3 +416,20 @@ void BKE_screen_view3d_main_sync(ListBase *screen_lb, Scene *scene)
}
}
+/* magic zoom calculation, no idea what
+ * it signifies, if you find out, tell me! -zr
+ */
+
+/* simple, its magic dude!
+ * well, to be honest, this gives a natural feeling zooming
+ * with multiple keypad presses (ton)
+ */
+float BKE_screen_view3d_zoom_to_fac(float camzoom)
+{
+ return powf(((float)M_SQRT2 + camzoom/50.0f), 2.0f) / 4.0f;
+}
+
+float BKE_screen_view3d_zoom_from_fac(float zoomfac)
+{
+ return ((sqrtf(4.0f * zoomfac) - (float)M_SQRT2) * 50.0f);
+}