# Copyright (c) 2009 The Foundry Visionmongers Ltd. All Rights Reserved.
import nuke_internal as nuke
import math
[docs]def create_camera_here(className = "Camera3"):
# get selected nodes
selected_nodes = nuke.selectedNodes()
# deselect all nodes so the camera doesn't link
for n in selected_nodes:
n["selected"].setValue ( False )
camera = nuke.createNode(className)
viewer = nuke.activeViewer()
m = viewer.getGLCameraMatrix()
t = m.translation()
p = m.rotationsZXY()
camera.knob("rotate").setValue(math.degrees(p[0]), 0)
camera.knob("rotate").setValue(math.degrees(p[1]), 1)
camera.knob("rotate").setValue(math.degrees(p[2]), 2)
camera.knob("translate").setValue(t[0], 0)
camera.knob("translate").setValue(t[1], 1)
camera.knob("translate").setValue(t[2], 2)