From 3f139678404e0f76d2fae817d12e8c937d4f57eb Mon Sep 17 00:00:00 2001
From: Michael Krupa <kroopson@wp.pl>
Date: Thu, 8 Dec 2011 15:29:38 +0000
Subject: [PATCH] Updated to use bpy.types.Camera.angle_y property.

---
 io_anim_nuke_chan/export_nuke_chan.py | 11 ++---------
 io_anim_nuke_chan/import_nuke_chan.py |  5 ++---
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/io_anim_nuke_chan/export_nuke_chan.py b/io_anim_nuke_chan/export_nuke_chan.py
index e0fdefb5a..bdb8a87c9 100644
--- a/io_anim_nuke_chan/export_nuke_chan.py
+++ b/io_anim_nuke_chan/export_nuke_chan.py
@@ -23,7 +23,7 @@ It takes the currently active object and writes it's transformation data
 into a text file with .chan extension."""
 
 from mathutils import Matrix
-from math import radians, degrees, atan2
+from math import radians, degrees
 
 
 def save_chan(context, filepath, y_up, rot_ord):
@@ -73,14 +73,7 @@ def save_chan(context, filepath, y_up, rot_ord):
         if camera:
             sensor_x = camera.sensor_width
             sensor_y = camera.sensor_height
-            cam_lens = camera.lens
-
-            # calculate the vertical field of view
-            # we know the vertical size of (virtual) sensor, the focal length
-            # of the camera so all we need to do is to feed this data to
-            # atan2 function whitch returns the degree (in radians) of
-            # an angle formed by a triangle with two legs of a given lengths
-            vfov = degrees(atan2(sensor_y / 2, cam_lens)) * 2.0
+            vfov = degrees(camera.angle_y)
             fw("%f" % vfov)
 
         fw("\n")
diff --git a/io_anim_nuke_chan/import_nuke_chan.py b/io_anim_nuke_chan/import_nuke_chan.py
index 05bbfa0c4..48103e097 100644
--- a/io_anim_nuke_chan/import_nuke_chan.py
+++ b/io_anim_nuke_chan/import_nuke_chan.py
@@ -21,7 +21,7 @@
 """ This script is an importer for the nuke's .chan files"""
 
 from mathutils import Vector, Matrix, Euler
-from math import radians, tan
+from math import radians
 
 
 def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height):
@@ -103,11 +103,10 @@ def read_chan(context, filepath, z_up, rot_ord, sensor_width, sensor_height):
 
             # check if the object is camera and fov data is present
             if camera and len(data) > 7:
-                v_fov = float(data[7])
                 camera.sensor_fit = 'HORIZONTAL'
                 camera.sensor_width = sensor_width
                 camera.sensor_height = sensor_height
-                camera.lens = (sensor_height / 2.0) / tan(radians(v_fov / 2.0))
+                camera.angle_y = radiansfloat(data[7])
                 camera.keyframe_insert("lens")
     filehandle.close()
 
-- 
GitLab