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>2012-11-30 08:25:58 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-11-30 08:25:58 +0400
commitc3406db4f5e87402d43a5d2a5e0049b16479d2d5 (patch)
treea93b1ecf654e7dbc436d3f3de757cef074c49bfb /source/blender/editors/space_view3d/view3d_view.c
parent5321669ef6935cb4863637d8068c2d265eef0a31 (diff)
fix for view-all operator not taking the view-angle into account.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 714898fed21..ea09aca900f 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -1511,7 +1511,7 @@ static void UNUSED_FUNCTION(view3d_align_axis_to_vector)(View3D *v3d, RegionView
}
}
-float ED_view3d_pixel_size(struct RegionView3D *rv3d, const float co[3])
+float ED_view3d_pixel_size(RegionView3D *rv3d, const float co[3])
{
return (rv3d->persmat[3][3] + (
rv3d->persmat[0][3] * co[0] +
@@ -1520,6 +1520,13 @@ float ED_view3d_pixel_size(struct RegionView3D *rv3d, const float co[3])
) * rv3d->pixsize;
}
+/* use for perspective view only */
+float ED_view3d_dist_from_radius(View3D *v3d, const float radius)
+{
+ const float angle = (((float)M_PI) - focallength_to_fov(v3d->lens, DEFAULT_SENSOR_WIDTH));
+ return radius * fabsf(1.0f / cosf(angle / 2.0f));
+}
+
/* view matrix properties utilities */
/* unused */