import mathutils
class CameraExporter:
- def export_to_file(self, context, out_fn):
- obj = context.active_object
-
- resource = self.export_camera(obj)
-
- resource.write_to_file(out_fn)
-
def export_camera(self, obj):
if obj.type!='CAMERA':
- raise Exception("Object is not a camera")
+ raise ValueError("Object {} is not a camera".format(obj.name))
from .datafile import Resource, Statement
resource = Resource(obj.name+".camera", "camera")
- position = obj.matrix_world*mathutils.Vector((0, 0, 0))
+ position = obj.matrix_world@mathutils.Vector((0, 0, 0))
resource.statements.append(Statement("position", position[0], position[1], position[2]))
- look_dir = obj.matrix_world*mathutils.Vector((0, 0, -1, 0))
+ look_dir = obj.matrix_world@mathutils.Vector((0, 0, -1, 0))
resource.statements.append(Statement("look_direction", look_dir[0], look_dir[1], look_dir[2]))
resource.statements.append(Statement("up_direction", 0.0, 0.0, 1.0))
resource.statements.append(Statement("field_of_view", obj.data.angle_y*180/math.pi))