# -*- coding: utf-8 -*-
import sys
import maya.OpenMaya as OpenMaya
import maya.OpenMayaUI as OpenMayaUI
import maya.OpenMayaMPx as OpenMayaMPx
kPluginCmdName = [
"spZoomCamera",
"spZoomCamera2",
]
print "zoomCameraCmd.py has been imported...."
# command
class scriptedCommand(OpenMayaMPx.MPxCommand):
camera = OpenMaya.MDagPath()
def __init__(self):
sys.stderr.write( "scriptedCommand.__init__\n" )
OpenMayaMPx.MPxCommand.__init__(self)
def redoIt(self):
global camera
fnCamera = OpenMaya.MFnCamera(camera)
f1 = fnCamera.focalLength()
fnCamera.setFocalLength(f1 * 2.0)
def undoIt(self):
global camera
fnCamera = OpenMaya.MFnCamera(camera)
f1 = fnCamera.focalLength()
fnCamera.setFocalLength(f1 / 2.0)
def doIt(self, args):
global camera
camera = OpenMaya.MDagPath()
try:
OpenMayaUI.M3dView.active3dView().getCamera(camera)
except:
sys.stderr.write( "ERROR: getting camera \n" )
else:
self.redoIt()
def isUndoable(self):
return True
# command.2
class scriptedCommand2(OpenMayaMPx.MPxCommand):
camera = OpenMaya.MDagPath()
def __init__(self):
sys.stderr.write( "scriptedCommand2.__init__\n" )
OpenMayaMPx.MPxCommand.__init__(self)
def redoIt(self):
global camera
fnCamera = OpenMaya.MFnCamera(camera)
f1 = fnCamera.focalLength()
fnCamera.setFocalLength(f1 * 2.0)
def undoIt(self):
global camera
fnCamera = OpenMaya.MFnCamera(camera)
f1 = fnCamera.focalLength()
fnCamera.setFocalLength(f1 / 2.0)
def doIt(self, args):
global camera
camera = OpenMaya.MDagPath()
try:
OpenMayaUI.M3dView.active3dView().getCamera(camera)
except:
sys.stderr.write( "ERROR: getting camera \n" )
else:
self.redoIt()
def isUndoable(self):
return True
#Cmd Creator
def cmdCreator_func():
return OpenMayaMPx.asMPxPtr( scriptedCommand() )
def cmdCreator_func2():
return OpenMayaMPx.asMPxPtr( scriptedCommand2() )
cmdCreator = [
cmdCreator_func,
cmdCreator_func2,
]
# Initialize the script plug-in
def initializePlugin(obj):
for i in range(2):
plugin = OpenMayaMPx.MFnPlugin(obj)
try:
plugin.registerCommand( kPluginCmdName[i], cmdCreator[i])
except:
sys.stderr.write( "Failed to register command: %s\n" % kPluginCmdName[i] )
# Uninitialize the script plug-in
def uninitializePlugin(obj):
for i in range(2):
plugin = OpenMayaMPx.MFnPlugin(obj)
try:
plugin.deregisterCommand(kPluginCmdName[i])
except:
sys.stderr.write( "Failed to unregister command: %s\n" % kPluginCmdName[i] )