diff options
author | Matt Ebb <matt@mke3.net> | 2010-04-15 08:56:44 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-04-15 08:56:44 +0400 |
commit | 2b018673509fe7a38a6332fae00bd605335bd286 (patch) | |
tree | 562d9ffb6ac40d16df15a43b13137e94fdd57797 /source/blender/makesrna/intern/rna_camera.c | |
parent | 57a1ff0df0f2df4be7518ba34da95537f21921a2 (diff) |
Fix [#22029] Camera in degree mode doesn't update
Removed the camera->angle from DNA, now it just uses RNA to handle the conversions.
Really need to convert this to physical units at some point... :/
Diffstat (limited to 'source/blender/makesrna/intern/rna_camera.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_camera.c | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c index c4dc461ad38..5ffac4e270e 100644 --- a/source/blender/makesrna/intern/rna_camera.c +++ b/source/blender/makesrna/intern/rna_camera.c @@ -36,29 +36,20 @@ #ifdef RNA_RUNTIME -static void rna_Camera_angle_update(Main *bmain, Scene *scene, PointerRNA *ptr) -{ - Camera *cam= (Camera*)ptr->id.data; - cam->lens = 16.0f / tan(M_PI*cam->angle/360.0f); -} - -static void rna_Camera_lens_update(Main *bmain, Scene *scene, PointerRNA *ptr) -{ - Camera *cam= (Camera*)ptr->id.data; - cam->angle= 360.0f * atan(16.0f/cam->lens) / M_PI; -} +#include "BKE_object.h" /* only for rad/deg conversion! can remove later */ static float rna_Camera_angle_get(PointerRNA *ptr) { Camera *cam= ptr->id.data; - return cam->angle * (M_PI / 180.0); + + return camera_get_angle(cam); } static void rna_Camera_angle_set(PointerRNA *ptr, float value) { Camera *cam= ptr->id.data; - cam->angle= value * (180.0 / M_PI); + camera_set_angle(cam, value); } #else @@ -93,12 +84,6 @@ void RNA_def_camera(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Passepartout Alpha", "Opacity (alpha) of the darkened overlay in Camera view"); RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL); - prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE); - RNA_def_property_range(prop, M_PI * (0.367/180.0), M_PI * (172.847/180.0)); - RNA_def_property_ui_text(prop, "Angle", "Perspective Camera lens field of view in degrees"); - RNA_def_property_float_funcs(prop, "rna_Camera_angle_get", "rna_Camera_angle_set", NULL); /* only for deg/rad conversion */ - RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Camera_angle_update"); - prop= RNA_def_property(srna, "clip_start", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "clipsta"); RNA_def_property_range(prop, 0.0f, FLT_MAX); @@ -115,7 +100,13 @@ void RNA_def_camera(BlenderRNA *brna) RNA_def_property_float_sdna(prop, NULL, "lens"); RNA_def_property_range(prop, 1.0f, 5000.0f); RNA_def_property_ui_text(prop, "Lens", "Perspective Camera lens value in millimeters"); - RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Camera_lens_update"); + RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL); + + prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE); + RNA_def_property_range(prop, M_PI * (0.367/180.0), M_PI * (172.847/180.0)); + RNA_def_property_ui_text(prop, "Angle", "Perspective Camera lens field of view in degrees"); + RNA_def_property_float_funcs(prop, "rna_Camera_angle_get", "rna_Camera_angle_set", NULL); /* only for deg/rad conversion */ + RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL); prop= RNA_def_property(srna, "ortho_scale", PROP_FLOAT, PROP_NONE); RNA_def_property_float_sdna(prop, NULL, "ortho_scale"); |